@peers-app/peers-ui 0.0.14

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 (404) hide show
  1. package/.github/README.md +52 -0
  2. package/.github/workflows/publish.yml +45 -0
  3. package/babel.config.js +7 -0
  4. package/dist/app.d.ts +9 -0
  5. package/dist/app.js +54 -0
  6. package/dist/command-palette/command-palette-ui.d.ts +2 -0
  7. package/dist/command-palette/command-palette-ui.js +192 -0
  8. package/dist/command-palette/command-palette.d.ts +23 -0
  9. package/dist/command-palette/command-palette.js +371 -0
  10. package/dist/components/checkbox.d.ts +7 -0
  11. package/dist/components/checkbox.js +20 -0
  12. package/dist/components/group-switcher.d.ts +6 -0
  13. package/dist/components/group-switcher.js +301 -0
  14. package/dist/components/input-date.d.ts +7 -0
  15. package/dist/components/input-date.js +19 -0
  16. package/dist/components/input-datetime.d.ts +7 -0
  17. package/dist/components/input-datetime.js +35 -0
  18. package/dist/components/input-number.d.ts +9 -0
  19. package/dist/components/input-number.js +87 -0
  20. package/dist/components/input.d.ts +7 -0
  21. package/dist/components/input.js +20 -0
  22. package/dist/components/io-schema-values.d.ts +15 -0
  23. package/dist/components/io-schema-values.js +105 -0
  24. package/dist/components/io-schema.d.ts +13 -0
  25. package/dist/components/io-schema.js +163 -0
  26. package/dist/components/lazy-list.d.ts +13 -0
  27. package/dist/components/lazy-list.js +91 -0
  28. package/dist/components/lazy-sortable-list.d.ts +29 -0
  29. package/dist/components/lazy-sortable-list.js +12 -0
  30. package/dist/components/left-bar.d.ts +3 -0
  31. package/dist/components/left-bar.js +130 -0
  32. package/dist/components/list-screen.d.ts +16 -0
  33. package/dist/components/list-screen.js +100 -0
  34. package/dist/components/loading-indicator.d.ts +2 -0
  35. package/dist/components/loading-indicator.js +12 -0
  36. package/dist/components/main-content-container.d.ts +2 -0
  37. package/dist/components/main-content-container.js +90 -0
  38. package/dist/components/markdown-editor/autolink-plugin.d.ts +2 -0
  39. package/dist/components/markdown-editor/autolink-plugin.js +29 -0
  40. package/dist/components/markdown-editor/editor-inline.d.ts +3 -0
  41. package/dist/components/markdown-editor/editor-inline.js +13 -0
  42. package/dist/components/markdown-editor/editor.d.ts +18 -0
  43. package/dist/components/markdown-editor/editor.js +143 -0
  44. package/dist/components/markdown-editor/markdown-plugin.d.ts +9 -0
  45. package/dist/components/markdown-editor/markdown-plugin.js +194 -0
  46. package/dist/components/markdown-editor/mention-node.d.ts +21 -0
  47. package/dist/components/markdown-editor/mention-node.js +160 -0
  48. package/dist/components/markdown-editor/mentions-plugin.d.ts +7 -0
  49. package/dist/components/markdown-editor/mentions-plugin.js +268 -0
  50. package/dist/components/markdown-editor/theme.d.ts +46 -0
  51. package/dist/components/markdown-editor/theme.js +48 -0
  52. package/dist/components/markdown-editor/toolbar.d.ts +10 -0
  53. package/dist/components/markdown-editor/toolbar.js +112 -0
  54. package/dist/components/markdown-with-mentions.d.ts +4 -0
  55. package/dist/components/markdown-with-mentions.js +140 -0
  56. package/dist/components/message-logs/message-logs.d.ts +6 -0
  57. package/dist/components/message-logs/message-logs.js +307 -0
  58. package/dist/components/messages/avatar.d.ts +10 -0
  59. package/dist/components/messages/avatar.js +65 -0
  60. package/dist/components/messages/channel-message-list.d.ts +14 -0
  61. package/dist/components/messages/channel-message-list.js +158 -0
  62. package/dist/components/messages/channel-view.d.ts +6 -0
  63. package/dist/components/messages/channel-view.js +82 -0
  64. package/dist/components/messages/message-compose.d.ts +11 -0
  65. package/dist/components/messages/message-compose.js +152 -0
  66. package/dist/components/messages/message-display.d.ts +10 -0
  67. package/dist/components/messages/message-display.js +152 -0
  68. package/dist/components/messages/thread-message-list.d.ts +11 -0
  69. package/dist/components/messages/thread-message-list.js +122 -0
  70. package/dist/components/messages/thread-view.d.ts +6 -0
  71. package/dist/components/messages/thread-view.js +174 -0
  72. package/dist/components/off-canvas.d.ts +13 -0
  73. package/dist/components/off-canvas.js +89 -0
  74. package/dist/components/router.d.ts +6 -0
  75. package/dist/components/router.js +240 -0
  76. package/dist/components/save-button.d.ts +13 -0
  77. package/dist/components/save-button.js +75 -0
  78. package/dist/components/sortable-list.d.ts +36 -0
  79. package/dist/components/sortable-list.js +77 -0
  80. package/dist/components/tabs.d.ts +11 -0
  81. package/dist/components/tabs.js +69 -0
  82. package/dist/components/text-list-editor.tsx/text-list-editor.d.ts +6 -0
  83. package/dist/components/text-list-editor.tsx/text-list-editor.js +13 -0
  84. package/dist/components/tooltip.d.ts +11 -0
  85. package/dist/components/tooltip.js +20 -0
  86. package/dist/components/top-bar.d.ts +2 -0
  87. package/dist/components/top-bar.js +51 -0
  88. package/dist/components/typeahead/mentions-plugin.d.ts +7 -0
  89. package/dist/components/typeahead/mentions-plugin.js +203 -0
  90. package/dist/components/typeahead/typeahead-editor.d.ts +15 -0
  91. package/dist/components/typeahead/typeahead-editor.js +134 -0
  92. package/dist/components/typeahead/typeahead.d.ts +12 -0
  93. package/dist/components/typeahead/typeahead.js +94 -0
  94. package/dist/components/typeahead.d.ts +22 -0
  95. package/dist/components/typeahead.js +270 -0
  96. package/dist/globals.d.ts +29 -0
  97. package/dist/globals.js +148 -0
  98. package/dist/hooks.d.ts +34 -0
  99. package/dist/hooks.js +137 -0
  100. package/dist/index.d.ts +4 -0
  101. package/dist/index.js +20 -0
  102. package/dist/layout-vars.d.ts +6 -0
  103. package/dist/layout-vars.js +10 -0
  104. package/dist/mention-configs.d.ts +18 -0
  105. package/dist/mention-configs.js +149 -0
  106. package/dist/screens/assistants/assistant-config.d.ts +5 -0
  107. package/dist/screens/assistants/assistant-config.js +52 -0
  108. package/dist/screens/assistants/assistant-details.d.ts +4 -0
  109. package/dist/screens/assistants/assistant-details.js +85 -0
  110. package/dist/screens/assistants/assistant-info.d.ts +6 -0
  111. package/dist/screens/assistants/assistant-info.js +28 -0
  112. package/dist/screens/assistants/assistant-list.d.ts +2 -0
  113. package/dist/screens/assistants/assistant-list.js +114 -0
  114. package/dist/screens/assistants/assistant-tools.d.ts +5 -0
  115. package/dist/screens/assistants/assistant-tools.js +38 -0
  116. package/dist/screens/contacts/contact-details.d.ts +6 -0
  117. package/dist/screens/contacts/contact-details.js +100 -0
  118. package/dist/screens/contacts/contact-list.d.ts +2 -0
  119. package/dist/screens/contacts/contact-list.js +213 -0
  120. package/dist/screens/contacts/index.d.ts +4 -0
  121. package/dist/screens/contacts/index.js +21 -0
  122. package/dist/screens/events/cron.d.ts +3 -0
  123. package/dist/screens/events/cron.js +77 -0
  124. package/dist/screens/events/event-details.d.ts +6 -0
  125. package/dist/screens/events/event-details.js +112 -0
  126. package/dist/screens/events/event-handlers.d.ts +7 -0
  127. package/dist/screens/events/event-handlers.js +84 -0
  128. package/dist/screens/events/event-info.d.ts +5 -0
  129. package/dist/screens/events/event-info.js +19 -0
  130. package/dist/screens/events/event-list.d.ts +2 -0
  131. package/dist/screens/events/event-list.js +107 -0
  132. package/dist/screens/events/event-schedule.d.ts +5 -0
  133. package/dist/screens/events/event-schedule.js +124 -0
  134. package/dist/screens/groups/group-details.d.ts +6 -0
  135. package/dist/screens/groups/group-details.js +218 -0
  136. package/dist/screens/groups/group-list.d.ts +2 -0
  137. package/dist/screens/groups/group-list.js +275 -0
  138. package/dist/screens/groups/group-members.d.ts +8 -0
  139. package/dist/screens/groups/group-members.js +315 -0
  140. package/dist/screens/groups/index.d.ts +6 -0
  141. package/dist/screens/groups/index.js +23 -0
  142. package/dist/screens/knowledge/knowledge-frame-details.bk.d.ts +6 -0
  143. package/dist/screens/knowledge/knowledge-frame-details.bk.js +84 -0
  144. package/dist/screens/knowledge/knowledge-frame-details.d.ts +8 -0
  145. package/dist/screens/knowledge/knowledge-frame-details.js +143 -0
  146. package/dist/screens/knowledge/knowledge-frame-list.d.ts +2 -0
  147. package/dist/screens/knowledge/knowledge-frame-list.js +45 -0
  148. package/dist/screens/knowledge/knowledge-value-details.d.ts +6 -0
  149. package/dist/screens/knowledge/knowledge-value-details.js +150 -0
  150. package/dist/screens/knowledge/knowledge-value-list-item.d.ts +5 -0
  151. package/dist/screens/knowledge/knowledge-value-list-item.js +39 -0
  152. package/dist/screens/knowledge/knowledge-value-list.d.ts +3 -0
  153. package/dist/screens/knowledge/knowledge-value-list.js +123 -0
  154. package/dist/screens/packages/package-details.d.ts +6 -0
  155. package/dist/screens/packages/package-details.js +82 -0
  156. package/dist/screens/packages/package-info.d.ts +5 -0
  157. package/dist/screens/packages/package-info.js +42 -0
  158. package/dist/screens/packages/package-list.d.ts +2 -0
  159. package/dist/screens/packages/package-list.js +182 -0
  160. package/dist/screens/packages/package-new-local.d.ts +2 -0
  161. package/dist/screens/packages/package-new-local.js +82 -0
  162. package/dist/screens/peer-types/peer-type-details.d.ts +10 -0
  163. package/dist/screens/peer-types/peer-type-details.js +126 -0
  164. package/dist/screens/peer-types/peer-type-list.d.ts +2 -0
  165. package/dist/screens/peer-types/peer-type-list.js +57 -0
  166. package/dist/screens/predicates/predicate-details.d.ts +6 -0
  167. package/dist/screens/predicates/predicate-details.js +103 -0
  168. package/dist/screens/predicates/predicate-list.d.ts +2 -0
  169. package/dist/screens/predicates/predicate-list.js +46 -0
  170. package/dist/screens/profile.d.ts +2 -0
  171. package/dist/screens/profile.js +66 -0
  172. package/dist/screens/search/global-search.d.ts +2 -0
  173. package/dist/screens/search/global-search.js +186 -0
  174. package/dist/screens/settings/color-mode-dropdown.d.ts +6 -0
  175. package/dist/screens/settings/color-mode-dropdown.js +63 -0
  176. package/dist/screens/settings/settings-page.d.ts +2 -0
  177. package/dist/screens/settings/settings-page.js +49 -0
  178. package/dist/screens/setup-user.d.ts +2 -0
  179. package/dist/screens/setup-user.js +270 -0
  180. package/dist/screens/tools/tool-code.d.ts +5 -0
  181. package/dist/screens/tools/tool-code.js +32 -0
  182. package/dist/screens/tools/tool-details.d.ts +6 -0
  183. package/dist/screens/tools/tool-details.js +68 -0
  184. package/dist/screens/tools/tool-info.d.ts +5 -0
  185. package/dist/screens/tools/tool-info.js +74 -0
  186. package/dist/screens/tools/tool-list.d.ts +2 -0
  187. package/dist/screens/tools/tool-list.js +123 -0
  188. package/dist/screens/tools/tool-schema.d.ts +5 -0
  189. package/dist/screens/tools/tool-schema.js +30 -0
  190. package/dist/screens/tools/tool-test-details.d.ts +4 -0
  191. package/dist/screens/tools/tool-test-details.js +54 -0
  192. package/dist/screens/tools/tool-test-list.d.ts +4 -0
  193. package/dist/screens/tools/tool-test-list.js +82 -0
  194. package/dist/screens/variables/variable-details.d.ts +6 -0
  195. package/dist/screens/variables/variable-details.js +140 -0
  196. package/dist/screens/variables/variable-list.d.ts +2 -0
  197. package/dist/screens/variables/variable-list.js +58 -0
  198. package/dist/screens/workflows/workflow-details.d.ts +6 -0
  199. package/dist/screens/workflows/workflow-details.js +122 -0
  200. package/dist/screens/workflows/workflow-info.d.ts +5 -0
  201. package/dist/screens/workflows/workflow-info.js +18 -0
  202. package/dist/screens/workflows/workflow-instructions.d.ts +5 -0
  203. package/dist/screens/workflows/workflow-instructions.js +118 -0
  204. package/dist/screens/workflows/workflow-list.d.ts +2 -0
  205. package/dist/screens/workflows/workflow-list.js +109 -0
  206. package/dist/screens/workflows/workflow-subscriptions.d.ts +6 -0
  207. package/dist/screens/workflows/workflow-subscriptions.js +81 -0
  208. package/dist/setupTests.d.ts +1 -0
  209. package/dist/setupTests.js +31 -0
  210. package/dist/system-apps/assistants.app.d.ts +2 -0
  211. package/dist/system-apps/assistants.app.js +8 -0
  212. package/dist/system-apps/contacts.app.d.ts +2 -0
  213. package/dist/system-apps/contacts.app.js +9 -0
  214. package/dist/system-apps/events.app.d.ts +2 -0
  215. package/dist/system-apps/events.app.js +8 -0
  216. package/dist/system-apps/groups.app.d.ts +2 -0
  217. package/dist/system-apps/groups.app.js +9 -0
  218. package/dist/system-apps/index.d.ts +19 -0
  219. package/dist/system-apps/index.js +90 -0
  220. package/dist/system-apps/knowledge-frames.app.d.ts +2 -0
  221. package/dist/system-apps/knowledge-frames.app.js +9 -0
  222. package/dist/system-apps/knowledge-values.app.d.ts +2 -0
  223. package/dist/system-apps/knowledge-values.app.js +9 -0
  224. package/dist/system-apps/packages.app.d.ts +2 -0
  225. package/dist/system-apps/packages.app.js +8 -0
  226. package/dist/system-apps/predicates.app.d.ts +2 -0
  227. package/dist/system-apps/predicates.app.js +8 -0
  228. package/dist/system-apps/profile.app.d.ts +2 -0
  229. package/dist/system-apps/profile.app.js +8 -0
  230. package/dist/system-apps/search.app.d.ts +2 -0
  231. package/dist/system-apps/search.app.js +9 -0
  232. package/dist/system-apps/settings.app.d.ts +2 -0
  233. package/dist/system-apps/settings.app.js +8 -0
  234. package/dist/system-apps/threads.app.d.ts +2 -0
  235. package/dist/system-apps/threads.app.js +8 -0
  236. package/dist/system-apps/tools.app.d.ts +2 -0
  237. package/dist/system-apps/tools.app.js +8 -0
  238. package/dist/system-apps/types.app.d.ts +2 -0
  239. package/dist/system-apps/types.app.js +8 -0
  240. package/dist/system-apps/variables.app.d.ts +2 -0
  241. package/dist/system-apps/variables.app.js +8 -0
  242. package/dist/system-apps/workflows.app.d.ts +2 -0
  243. package/dist/system-apps/workflows.app.js +8 -0
  244. package/dist/tabs-layout/tabs-layout.d.ts +5 -0
  245. package/dist/tabs-layout/tabs-layout.js +374 -0
  246. package/dist/tabs-layout/tabs-state.d.ts +26 -0
  247. package/dist/tabs-layout/tabs-state.js +239 -0
  248. package/dist/three-bar-layout/left-bar-content.d.ts +7 -0
  249. package/dist/three-bar-layout/left-bar-content.js +151 -0
  250. package/dist/three-bar-layout/right-bar-content.d.ts +2 -0
  251. package/dist/three-bar-layout/right-bar-content.js +64 -0
  252. package/dist/three-bar-layout/three-bar-layout.d.ts +5 -0
  253. package/dist/three-bar-layout/three-bar-layout.js +218 -0
  254. package/dist/ui-defaults/index.d.ts +2 -0
  255. package/dist/ui-defaults/index.js +4 -0
  256. package/dist/ui-defaults/list-screen.d.ts +6 -0
  257. package/dist/ui-defaults/list-screen.js +74 -0
  258. package/dist/ui-defaults/notes-editor.d.ts +7 -0
  259. package/dist/ui-defaults/notes-editor.js +41 -0
  260. package/dist/ui-router/routes-loader.d.ts +25 -0
  261. package/dist/ui-router/routes-loader.js +97 -0
  262. package/dist/ui-router/ui-loader.d.ts +18 -0
  263. package/dist/ui-router/ui-loader.js +481 -0
  264. package/dist/utils.d.ts +9 -0
  265. package/dist/utils.js +250 -0
  266. package/docs/conversation-tab.md +201 -0
  267. package/docs/getting-started.md +284 -0
  268. package/docs/knowledge.md +187 -0
  269. package/docs/tabs-ui.md +696 -0
  270. package/docs/user-contacts-ui.md +384 -0
  271. package/jest.config.js +25 -0
  272. package/package.json +109 -0
  273. package/src/app.tsx +59 -0
  274. package/src/command-palette/command-palette-ui.tsx +264 -0
  275. package/src/command-palette/command-palette.ts +364 -0
  276. package/src/components/checkbox.tsx +22 -0
  277. package/src/components/group-switcher.tsx +469 -0
  278. package/src/components/input-date.tsx +28 -0
  279. package/src/components/input-datetime.tsx +41 -0
  280. package/src/components/input-number.tsx +67 -0
  281. package/src/components/input.tsx +22 -0
  282. package/src/components/io-schema-values.tsx +122 -0
  283. package/src/components/io-schema.tsx +234 -0
  284. package/src/components/lazy-list.tsx +98 -0
  285. package/src/components/lazy-sortable-list.tsx +51 -0
  286. package/src/components/left-bar.tsx +264 -0
  287. package/src/components/list-screen.tsx +105 -0
  288. package/src/components/loading-indicator.tsx +9 -0
  289. package/src/components/main-content-container.tsx +76 -0
  290. package/src/components/markdown-editor/autolink-plugin.tsx +36 -0
  291. package/src/components/markdown-editor/editor-inline.tsx +10 -0
  292. package/src/components/markdown-editor/editor.tsx +152 -0
  293. package/src/components/markdown-editor/markdown-plugin.tsx +224 -0
  294. package/src/components/markdown-editor/mention-node.ts +199 -0
  295. package/src/components/markdown-editor/mentions-plugin.tsx +356 -0
  296. package/src/components/markdown-editor/theme.ts +47 -0
  297. package/src/components/markdown-editor/toolbar.tsx +263 -0
  298. package/src/components/markdown-with-mentions.tsx +183 -0
  299. package/src/components/message-logs/message-logs.tsx +406 -0
  300. package/src/components/messages/avatar.tsx +95 -0
  301. package/src/components/messages/channel-message-list.tsx +177 -0
  302. package/src/components/messages/channel-view.tsx +74 -0
  303. package/src/components/messages/message-compose.tsx +162 -0
  304. package/src/components/messages/message-display.tsx +217 -0
  305. package/src/components/messages/thread-message-list.tsx +126 -0
  306. package/src/components/messages/thread-view.tsx +214 -0
  307. package/src/components/off-canvas.tsx +83 -0
  308. package/src/components/router.tsx +224 -0
  309. package/src/components/save-button.tsx +109 -0
  310. package/src/components/sortable-list.tsx +102 -0
  311. package/src/components/tabs.tsx +70 -0
  312. package/src/components/text-list-editor.tsx/text-list-editor.tsx +13 -0
  313. package/src/components/tooltip.tsx +50 -0
  314. package/src/components/top-bar.tsx +119 -0
  315. package/src/components/typeahead/mentions-plugin.tsx +265 -0
  316. package/src/components/typeahead/typeahead-editor.tsx +140 -0
  317. package/src/components/typeahead/typeahead.tsx +77 -0
  318. package/src/components/typeahead.tsx +359 -0
  319. package/src/globals.tsx +162 -0
  320. package/src/hooks.ts +144 -0
  321. package/src/index.tsx +8 -0
  322. package/src/layout-vars.ts +8 -0
  323. package/src/mention-configs.ts +166 -0
  324. package/src/screens/assistants/assistant-config.tsx +80 -0
  325. package/src/screens/assistants/assistant-details.tsx +77 -0
  326. package/src/screens/assistants/assistant-info.tsx +45 -0
  327. package/src/screens/assistants/assistant-list.tsx +115 -0
  328. package/src/screens/assistants/assistant-tools.tsx +61 -0
  329. package/src/screens/contacts/contact-details.tsx +175 -0
  330. package/src/screens/contacts/contact-list.tsx +251 -0
  331. package/src/screens/contacts/index.ts +6 -0
  332. package/src/screens/events/cron.ts +74 -0
  333. package/src/screens/events/event-details.tsx +117 -0
  334. package/src/screens/events/event-handlers.tsx +61 -0
  335. package/src/screens/events/event-info.tsx +29 -0
  336. package/src/screens/events/event-list.tsx +104 -0
  337. package/src/screens/events/event-schedule.tsx +130 -0
  338. package/src/screens/groups/group-details.tsx +306 -0
  339. package/src/screens/groups/group-list.tsx +366 -0
  340. package/src/screens/groups/group-members.tsx +455 -0
  341. package/src/screens/groups/index.ts +9 -0
  342. package/src/screens/knowledge/knowledge-frame-details.bk.tsx +160 -0
  343. package/src/screens/knowledge/knowledge-frame-details.tsx +176 -0
  344. package/src/screens/knowledge/knowledge-frame-list.tsx +49 -0
  345. package/src/screens/knowledge/knowledge-value-details.tsx +181 -0
  346. package/src/screens/knowledge/knowledge-value-list-item.tsx +48 -0
  347. package/src/screens/knowledge/knowledge-value-list.tsx +131 -0
  348. package/src/screens/packages/package-details.tsx +117 -0
  349. package/src/screens/packages/package-info.tsx +83 -0
  350. package/src/screens/packages/package-list.tsx +191 -0
  351. package/src/screens/packages/package-new-local.tsx +93 -0
  352. package/src/screens/peer-types/peer-type-details.tsx +162 -0
  353. package/src/screens/peer-types/peer-type-list.tsx +74 -0
  354. package/src/screens/predicates/predicate-details.tsx +125 -0
  355. package/src/screens/predicates/predicate-list.tsx +50 -0
  356. package/src/screens/profile.tsx +68 -0
  357. package/src/screens/search/global-search.tsx +274 -0
  358. package/src/screens/settings/color-mode-dropdown.tsx +57 -0
  359. package/src/screens/settings/settings-page.tsx +76 -0
  360. package/src/screens/setup-user.tsx +367 -0
  361. package/src/screens/tools/tool-code.tsx +35 -0
  362. package/src/screens/tools/tool-details.tsx +101 -0
  363. package/src/screens/tools/tool-info.tsx +60 -0
  364. package/src/screens/tools/tool-list.tsx +121 -0
  365. package/src/screens/tools/tool-schema.tsx +42 -0
  366. package/src/screens/tools/tool-test-details.tsx +100 -0
  367. package/src/screens/tools/tool-test-list.tsx +74 -0
  368. package/src/screens/variables/variable-details.tsx +183 -0
  369. package/src/screens/variables/variable-list.tsx +74 -0
  370. package/src/screens/workflows/workflow-details.tsx +130 -0
  371. package/src/screens/workflows/workflow-info.tsx +29 -0
  372. package/src/screens/workflows/workflow-instructions.tsx +127 -0
  373. package/src/screens/workflows/workflow-list.tsx +107 -0
  374. package/src/screens/workflows/workflow-subscriptions.tsx +58 -0
  375. package/src/setupTests.ts +32 -0
  376. package/src/system-apps/assistants.app.ts +7 -0
  377. package/src/system-apps/contacts.app.ts +8 -0
  378. package/src/system-apps/events.app.ts +7 -0
  379. package/src/system-apps/groups.app.ts +8 -0
  380. package/src/system-apps/index.ts +79 -0
  381. package/src/system-apps/knowledge-frames.app.ts +8 -0
  382. package/src/system-apps/knowledge-values.app.ts +8 -0
  383. package/src/system-apps/packages.app.ts +7 -0
  384. package/src/system-apps/predicates.app.ts +7 -0
  385. package/src/system-apps/profile.app.ts +7 -0
  386. package/src/system-apps/search.app.ts +8 -0
  387. package/src/system-apps/settings.app.ts +7 -0
  388. package/src/system-apps/threads.app.ts +7 -0
  389. package/src/system-apps/tools.app.ts +7 -0
  390. package/src/system-apps/types.app.ts +7 -0
  391. package/src/system-apps/variables.app.ts +7 -0
  392. package/src/system-apps/workflows.app.ts +7 -0
  393. package/src/tabs-layout/tabs-layout.tsx +672 -0
  394. package/src/tabs-layout/tabs-state.ts +269 -0
  395. package/src/three-bar-layout/left-bar-content.tsx +202 -0
  396. package/src/three-bar-layout/right-bar-content.tsx +67 -0
  397. package/src/three-bar-layout/three-bar-layout.tsx +297 -0
  398. package/src/ui-defaults/index.ts +3 -0
  399. package/src/ui-defaults/list-screen.tsx +92 -0
  400. package/src/ui-defaults/notes-editor.tsx +51 -0
  401. package/src/ui-router/routes-loader.ts +98 -0
  402. package/src/ui-router/ui-loader.tsx +497 -0
  403. package/src/utils.ts +266 -0
  404. package/tsconfig.json +24 -0
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.groups = exports.isDesktop = exports.windowHeight = exports.windowWidth = exports.me = exports.threadViewOpen = exports.openThreads = exports.queryParams = exports.mainContentPath = exports._mainContentPath = exports.packageReloaded = void 0;
4
+ exports.queryParam = queryParam;
5
+ exports.openThread = openThread;
6
+ exports.openThreadInTab = openThreadInTab;
7
+ exports.loadGlobals = loadGlobals;
8
+ const peers_sdk_1 = require("@peers-app/peers-sdk");
9
+ const tabs_state_1 = require("./tabs-layout/tabs-state");
10
+ const utils_1 = require("./utils");
11
+ exports.packageReloaded = (0, peers_sdk_1.observable)(0);
12
+ exports._mainContentPath = (0, peers_sdk_1.groupUserVar)('mainContentPath', { defaultValue: '' });
13
+ exports.mainContentPath = (0, peers_sdk_1.computed)({
14
+ read: () => {
15
+ return (0, exports._mainContentPath)();
16
+ },
17
+ write: (newPath) => {
18
+ const oldPath = (0, exports._mainContentPath)();
19
+ if (newPath === oldPath)
20
+ return;
21
+ // _mainContentPath(newPath);
22
+ (0, tabs_state_1.handleMainPathChanged)(oldPath, newPath, exports._mainContentPath);
23
+ },
24
+ });
25
+ exports.queryParams = (0, peers_sdk_1.computed)({
26
+ read: () => {
27
+ const queryStr = (0, exports.mainContentPath)()?.split('?')[1] || '';
28
+ const params = new URLSearchParams(queryStr);
29
+ const obj = {};
30
+ for (const [key, value] of params.entries()) {
31
+ obj[key] = value;
32
+ }
33
+ return obj;
34
+ },
35
+ write: (value) => {
36
+ const queryStr = (0, exports.mainContentPath)().split('?')[1] || '';
37
+ const params = new URLSearchParams(queryStr);
38
+ for (const key in value) {
39
+ params.set(key, value[key]);
40
+ }
41
+ (0, exports.mainContentPath)((0, exports.mainContentPath)().split('?')[0] + '?' + params.toString());
42
+ },
43
+ });
44
+ function queryParam(name, value) {
45
+ const params = (0, exports.queryParams)();
46
+ if (value !== undefined) {
47
+ if (params[name] === value) {
48
+ return value;
49
+ }
50
+ if (value === null || value === '') {
51
+ delete params[name];
52
+ }
53
+ else {
54
+ params[name] = value;
55
+ }
56
+ (0, exports.queryParams)(params);
57
+ }
58
+ return params[name];
59
+ }
60
+ // export const openThreads = persistentVar<(string | IMessage)[]>('openThreads', { scope: 'user', defaultValue: [] });
61
+ exports.openThreads = (0, peers_sdk_1.groupUserVar)('openThreads', { defaultValue: [] });
62
+ exports.threadViewOpen = (0, peers_sdk_1.groupUserVar)('threadViewOpen', { defaultValue: false });
63
+ async function openThread(thread) {
64
+ openThreadInTab(thread);
65
+ // let threadId = typeof thread === 'string' ? thread : thread.messageId;
66
+ // const message = await Messages().get(threadId);
67
+ // if (message) {
68
+ // thread = message.messageParentId || message.messageId;
69
+ // }
70
+ // const threadsWithout = openThreads().filter(t => (typeof t === 'string' && t !== threadId) || (typeof t === 'object' && t.messageId !== threadId));
71
+ // openThreads([thread, ...threadsWithout]);
72
+ // threadViewOpen(true);
73
+ }
74
+ // Thread opening function for tabs system
75
+ async function openThreadInTab(thread) {
76
+ let threadId = typeof thread === 'string' ? thread : thread.messageId;
77
+ const message = await (0, peers_sdk_1.Messages)().get(threadId);
78
+ if (!message) {
79
+ console.warn('Thread message not found:', threadId);
80
+ return;
81
+ }
82
+ // Use parent message ID if this is a reply, otherwise use the message itself
83
+ const actualThreadId = message.messageParentId || message.messageId;
84
+ // Generate thread title from message content (strip mentions and clean formatting)
85
+ const cleanMessage = (0, utils_1.stripMentions)(message.message);
86
+ const messagePreview = cleanMessage.slice(0, 30);
87
+ const threadTitle = `${messagePreview}${cleanMessage.length > 30 ? '...' : ''}` || `Thread`;
88
+ // // Import openNewTab dynamically to avoid circular dependency
89
+ // const { openNewTab } = await import('./tabs-layout/tabs-layout');
90
+ (0, tabs_state_1.openNewTab)({
91
+ packageId: 'system-apps',
92
+ path: `threads/${actualThreadId}`,
93
+ title: threadTitle,
94
+ iconClassName: 'bi-chat-dots',
95
+ });
96
+ }
97
+ peers_sdk_1.rpcClientCalls.setClientPath = async (url) => {
98
+ (0, exports.mainContentPath)(url && String(url).trim() || '');
99
+ };
100
+ peers_sdk_1.rpcClientCalls.openThread = async (threadId) => {
101
+ console.warn('Opening thread:', threadId);
102
+ openThread(threadId);
103
+ };
104
+ exports.me = null;
105
+ exports.windowWidth = (0, peers_sdk_1.observable)(window.innerWidth); //.extend({ rateLimit: 500 });
106
+ exports.windowHeight = (0, peers_sdk_1.observable)(window.innerHeight); //.extend({ rateLimit: 500 });
107
+ window.addEventListener("resize", (ev) => {
108
+ (0, exports.windowWidth)(window.innerWidth);
109
+ (0, exports.windowHeight)(window.innerHeight);
110
+ });
111
+ exports.isDesktop = (0, peers_sdk_1.computed)(() => {
112
+ // return windowWidth() > 1200;
113
+ return (0, exports.windowWidth)() > 992;
114
+ // return windowWidth() > 768;
115
+ });
116
+ exports.groups = (0, peers_sdk_1.observable)([]);
117
+ let globalsLoaded = false;
118
+ async function loadGlobals() {
119
+ if (globalsLoaded)
120
+ return true;
121
+ globalsLoaded = true;
122
+ exports.me = await (0, peers_sdk_1.getMe)();
123
+ await peers_sdk_1.reloadPackagesOnPageRefresh.loadingPromise;
124
+ if ((0, peers_sdk_1.reloadPackagesOnPageRefresh)()) {
125
+ await peers_sdk_1.rpcServerCalls.installOrUpdatePackage('all');
126
+ }
127
+ await Promise.all([
128
+ (0, peers_sdk_1.Groups)().list().then(exports.groups),
129
+ exports._mainContentPath.loadingPromise,
130
+ exports.openThreads.loadingPromise,
131
+ exports.threadViewOpen.loadingPromise,
132
+ (0, peers_sdk_1.sleep)(100), // hacky way to prevent some jank
133
+ ]);
134
+ function updateWindowHash() {
135
+ if (window.location.hash.substr(1) !== (0, exports.mainContentPath)()) {
136
+ window.location.hash = (0, exports.mainContentPath)() || '';
137
+ }
138
+ (0, exports.mainContentPath)((0, exports.mainContentPath)() || '');
139
+ }
140
+ exports.mainContentPath.subscribe(updateWindowHash);
141
+ updateWindowHash();
142
+ window.addEventListener('hashchange', () => (0, exports.mainContentPath)(window.location.hash.substring(1)));
143
+ return true;
144
+ }
145
+ if (typeof window !== 'undefined') {
146
+ // @ts-ignore
147
+ window.globals = module.exports;
148
+ }
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ import { Observable } from "@peers-app/peers-sdk";
3
+ /**
4
+ * Use this to subscribe to an observable or computed in a functional component.
5
+ * @param sub the observable or computed to subscribe to
6
+ * @param deps an array of dependencies to pass to useEffect which will trigger a re-render when any of the dependencies change
7
+ * @returns the current value of the observable or computed and a function to set the value
8
+ */
9
+ export declare function useObservable<T>(sub: Observable<T> | T, deps?: React.DependencyList): [T, (value: T) => void];
10
+ /**
11
+ * Use this to easily wait for a promise in a functional component.
12
+ * @param p The promise to wait for
13
+ * @param initialValue the initial value to return before the promise resolves
14
+ * @param deps the dependencies to pass to useEffect which will trigger a re-render when any of the dependencies change
15
+ * @returns the initial value and the resolved value of the promise
16
+ */
17
+ export declare function usePromise<T>(p: Promise<T> | (() => Promise<T>), initialValue?: T, deps?: React.DependencyList): T | undefined;
18
+ /**
19
+ * Use this to create an observable in a functional component.
20
+ * This automatically subscribes to the observable and triggers a re-render when the value changes.
21
+ * @param initialValue This will be the initial value of the observable
22
+ * @param doNotSubscribe If true, the observable will not be subscribed to automatically.
23
+ * This is useful if you want to create an observable that persists between rerenders but doesn't cause rerenders itself.
24
+ * @returns
25
+ */
26
+ export declare function useObservableState<T>(initialValue?: T, doNotSubscribe?: boolean): Observable<T>;
27
+ /**
28
+ * Use this to register a handler for a knockout subscribable in a functional component.
29
+ * The handler will be called immediately and whenever the subscribable changes.
30
+ * @param subscribable The observable to subscribe to
31
+ * @param onChange The function to call with the new value when the observable changes
32
+ */
33
+ export declare function useSubscription<T>(subscribable: Observable<T>, onChange: (value: T) => any, doNotCallOnChangeDuringSetup?: boolean): void;
34
+ export declare function useOnScreen(ref: React.RefObject<any>): boolean;
package/dist/hooks.js ADDED
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useObservable = useObservable;
4
+ exports.usePromise = usePromise;
5
+ exports.useObservableState = useObservableState;
6
+ exports.useSubscription = useSubscription;
7
+ exports.useOnScreen = useOnScreen;
8
+ const react_1 = require("react");
9
+ const lodash_1 = require("lodash");
10
+ const peers_sdk_1 = require("@peers-app/peers-sdk");
11
+ /**
12
+ * Use this to subscribe to an observable or computed in a functional component.
13
+ * @param sub the observable or computed to subscribe to
14
+ * @param deps an array of dependencies to pass to useEffect which will trigger a re-render when any of the dependencies change
15
+ * @returns the current value of the observable or computed and a function to set the value
16
+ */
17
+ function useObservable(sub, deps = []) {
18
+ const [data, setData] = (0, react_1.useState)(() => (0, peers_sdk_1.unwrapObservable)(sub));
19
+ (0, react_1.useEffect)(() => {
20
+ if (!(0, peers_sdk_1.isSubscribable)(sub)) {
21
+ return;
22
+ }
23
+ const subscription = sub.subscribe(() => {
24
+ const newData = sub();
25
+ // @ts-ignore
26
+ if ((0, lodash_1.isArray)(newData) && newData === data) {
27
+ // @ts-ignore
28
+ setData([...newData]);
29
+ }
30
+ else {
31
+ setData(newData);
32
+ }
33
+ });
34
+ // the data might change _after_ useObservable is called but _before_ the subscription has been created
35
+ // this checks for that and updates the state with the new data if necessary
36
+ const newData = sub();
37
+ if (!(0, lodash_1.isEqual)(data, newData)) {
38
+ setData(newData);
39
+ }
40
+ return () => subscription.dispose();
41
+ }, deps);
42
+ return [data, newData => {
43
+ setData(newData);
44
+ if ((0, peers_sdk_1.isSubscribable)(sub)) {
45
+ sub(newData);
46
+ }
47
+ }];
48
+ }
49
+ /**
50
+ * Use this to easily wait for a promise in a functional component.
51
+ * @param p The promise to wait for
52
+ * @param initialValue the initial value to return before the promise resolves
53
+ * @param deps the dependencies to pass to useEffect which will trigger a re-render when any of the dependencies change
54
+ * @returns the initial value and the resolved value of the promise
55
+ */
56
+ function usePromise(p, initialValue, deps = []) {
57
+ const [data, setData] = (0, react_1.useState)(initialValue);
58
+ (0, react_1.useEffect)(() => {
59
+ let disposed = false;
60
+ if (typeof p === 'function') {
61
+ p = p();
62
+ }
63
+ p.then(newData => {
64
+ // if (!_.isEqual(newData, data) && !disposed) {
65
+ if (!disposed) {
66
+ setData(newData);
67
+ }
68
+ });
69
+ return () => {
70
+ disposed = true;
71
+ };
72
+ }, deps);
73
+ return data;
74
+ }
75
+ /**
76
+ * Use this to create an observable in a functional component.
77
+ * This automatically subscribes to the observable and triggers a re-render when the value changes.
78
+ * @param initialValue This will be the initial value of the observable
79
+ * @param doNotSubscribe If true, the observable will not be subscribed to automatically.
80
+ * This is useful if you want to create an observable that persists between rerenders but doesn't cause rerenders itself.
81
+ * @returns
82
+ */
83
+ function useObservableState(initialValue, doNotSubscribe) {
84
+ const [obs] = (0, react_1.useState)(() => (0, peers_sdk_1.observable)(initialValue));
85
+ if (!doNotSubscribe) {
86
+ useObservable(obs);
87
+ }
88
+ return obs;
89
+ }
90
+ /**
91
+ * Use this to register a handler for a knockout subscribable in a functional component.
92
+ * The handler will be called immediately and whenever the subscribable changes.
93
+ * @param subscribable The observable to subscribe to
94
+ * @param onChange The function to call with the new value when the observable changes
95
+ */
96
+ function useSubscription(subscribable, onChange, doNotCallOnChangeDuringSetup) {
97
+ if (!doNotCallOnChangeDuringSetup) {
98
+ (0, react_1.useEffect)(() => onChange(subscribable()), []);
99
+ }
100
+ (0, react_1.useEffect)(() => {
101
+ const subscription = subscribable.subscribe(() => onChange(subscribable()));
102
+ return () => subscription.dispose();
103
+ }, [subscribable, onChange]);
104
+ }
105
+ function useOnScreen(ref) {
106
+ const [isIntersecting, setIntersecting] = (0, react_1.useState)(false);
107
+ const observer = new IntersectionObserver(([entry]) => setIntersecting(entry.isIntersecting));
108
+ (0, react_1.useEffect)(() => {
109
+ observer.observe(ref.current);
110
+ // Remove the observer as soon as the component is unmounted
111
+ return () => { observer.disconnect(); };
112
+ }, []);
113
+ return isIntersecting;
114
+ }
115
+ // /**
116
+ // * This creates an observable that will automatically persist its value between page reloads using localStorage.
117
+ // * If localStorage is not available, the observable will not persist its value.
118
+ // * @param initialValue the initial value of the observable
119
+ // * @param globalName the name to use when storing the value in localStorage
120
+ // * @returns the observable that will persist between page reloads
121
+ // */
122
+ // export function persistentValue<T>(initialValue: T, globalName: string): Observable<T | undefined> {
123
+ // let q = observable<T>();
124
+ // if (typeof localStorage === 'undefined') {
125
+ // return q;
126
+ // }
127
+ // q.subscribe(newVal => {
128
+ // localStorage.setItem(globalName, JSON.stringify(toJSON(newVal)))
129
+ // })
130
+ // const existing = localStorage.getItem(globalName);
131
+ // if (existing) {
132
+ // q(fromJSON(JSON.parse(existing)))
133
+ // } else {
134
+ // q(initialValue);
135
+ // }
136
+ // return q;
137
+ // }
@@ -0,0 +1,4 @@
1
+ export * from "./app";
2
+ export * from "./three-bar-layout/three-bar-layout";
3
+ export * from "./screens/events/cron";
4
+ export * from "./tabs-layout/tabs-layout";
package/dist/index.js ADDED
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./app"), exports);
18
+ __exportStar(require("./three-bar-layout/three-bar-layout"), exports);
19
+ __exportStar(require("./screens/events/cron"), exports);
20
+ __exportStar(require("./tabs-layout/tabs-layout"), exports);
@@ -0,0 +1,6 @@
1
+ export declare const leftBarCollapsed: import("@peers-app/peers-sdk").PersistentVar<boolean>;
2
+ export declare const rightBarCollapsed: import("@peers-app/peers-sdk").PersistentVar<boolean>;
3
+ export declare const leftBarWidth: import("@peers-app/peers-sdk").PersistentVar<number>;
4
+ export declare const rightBarWidth: import("@peers-app/peers-sdk").PersistentVar<number>;
5
+ export declare const leftBarWidthPrev: import("@peers-app/peers-sdk").PersistentVar<number>;
6
+ export declare const rightBarWidthPrev: import("@peers-app/peers-sdk").PersistentVar<number>;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.rightBarWidthPrev = exports.leftBarWidthPrev = exports.rightBarWidth = exports.leftBarWidth = exports.rightBarCollapsed = exports.leftBarCollapsed = void 0;
4
+ const peers_sdk_1 = require("@peers-app/peers-sdk");
5
+ exports.leftBarCollapsed = (0, peers_sdk_1.deviceVar)('leftBarCollapsed', { defaultValue: false, });
6
+ exports.rightBarCollapsed = (0, peers_sdk_1.deviceVar)('rightBarCollapsed', { defaultValue: false, });
7
+ exports.leftBarWidth = (0, peers_sdk_1.deviceVar)('leftBarWidth', { defaultValue: 250, });
8
+ exports.rightBarWidth = (0, peers_sdk_1.deviceVar)('rightBarWidth', { defaultValue: 250, });
9
+ exports.leftBarWidthPrev = (0, peers_sdk_1.deviceVar)('leftBarWidthPrev', { defaultValue: 250, });
10
+ exports.rightBarWidthPrev = (0, peers_sdk_1.deviceVar)('rightBarWidthPrev', { defaultValue: 250, });
@@ -0,0 +1,18 @@
1
+ import { IMentionData } from "@peers-app/peers-sdk";
2
+ export interface IMentionConfig {
3
+ iconClass: string;
4
+ styleClass?: string;
5
+ kind: string;
6
+ query: (text: string) => Promise<IMentionData[]>;
7
+ getById: (id: string) => Promise<IMentionData | undefined>;
8
+ picture?: (data: IMentionData) => JSX.Element;
9
+ onClick?: ((data: IMentionData) => void);
10
+ }
11
+ export declare const toolMentionConfig: IMentionConfig;
12
+ export declare const userMentionConfig: IMentionConfig;
13
+ export declare const assistantMentionConfig: IMentionConfig;
14
+ export declare const workflowMentionConfig: IMentionConfig;
15
+ export declare const peerEventTypeMentionConfig: IMentionConfig;
16
+ export declare const predicateMentionConfig: IMentionConfig;
17
+ export declare const valueTypeMentionConfig: IMentionConfig;
18
+ export declare const mentionConfigs: IMentionConfig[];
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mentionConfigs = exports.valueTypeMentionConfig = exports.predicateMentionConfig = exports.peerEventTypeMentionConfig = exports.workflowMentionConfig = exports.assistantMentionConfig = exports.userMentionConfig = exports.toolMentionConfig = void 0;
4
+ const peers_sdk_1 = require("@peers-app/peers-sdk");
5
+ // import { MENTIONS_MAX_RESULTS } from "../client/components/markdown-editor/mentions-plugin";
6
+ const MENTIONS_MAX_RESULTS = 10;
7
+ exports.toolMentionConfig = {
8
+ kind: 'tool',
9
+ iconClass: 'bi bi-tools',
10
+ styleClass: 'mention-tool',
11
+ query: async (search) => {
12
+ const results = await (0, peers_sdk_1.Tools)().list({ name: { $matchWords: search } }, { pageSize: MENTIONS_MAX_RESULTS });
13
+ return results.map(p => ({
14
+ kind: 'tool',
15
+ id: p.toolId,
16
+ name: p.name
17
+ }));
18
+ },
19
+ getById: id => (0, peers_sdk_1.Tools)().get(id).then(item => item && {
20
+ kind: 'tool',
21
+ id: item.toolId,
22
+ name: item.name
23
+ })
24
+ };
25
+ exports.userMentionConfig = {
26
+ kind: 'user',
27
+ iconClass: 'bi-person-fill',
28
+ styleClass: 'mention-user',
29
+ query: async (search) => {
30
+ return (0, peers_sdk_1.Users)().list({ name: { $matchWords: search } }, { pageSize: MENTIONS_MAX_RESULTS })
31
+ .then((users) => users.map((user) => ({
32
+ kind: 'user',
33
+ id: user.userId,
34
+ name: user.name,
35
+ })));
36
+ },
37
+ getById: id => (0, peers_sdk_1.Users)().get(id).then(item => item && {
38
+ kind: 'user',
39
+ id: item.userId,
40
+ name: item.name
41
+ }),
42
+ };
43
+ exports.assistantMentionConfig = {
44
+ kind: 'assistant',
45
+ iconClass: 'bi bi-person-fill-gear',
46
+ styleClass: 'mention-assistant',
47
+ query: async (search) => {
48
+ return (0, peers_sdk_1.Assistants)().list({ name: { $matchWords: search } }, { pageSize: MENTIONS_MAX_RESULTS })
49
+ .then((assistants) => assistants.map((assistant) => ({
50
+ kind: 'assistant',
51
+ id: assistant.assistantId,
52
+ name: assistant.name,
53
+ })));
54
+ },
55
+ getById: id => (0, peers_sdk_1.Assistants)().get(id).then(item => item && {
56
+ kind: 'assistant',
57
+ id: item.assistantId,
58
+ name: item.name
59
+ }),
60
+ };
61
+ exports.workflowMentionConfig = {
62
+ kind: 'workflow',
63
+ iconClass: 'bi bi-database-fill-gear',
64
+ styleClass: 'mention-workflow',
65
+ query: async (search) => {
66
+ return (0, peers_sdk_1.Workflows)().list({ name: { $matchWords: search } }, { pageSize: MENTIONS_MAX_RESULTS })
67
+ .then((workflows) => workflows.map((workflow) => ({
68
+ kind: 'workflow',
69
+ id: workflow.workflowId,
70
+ name: workflow.name,
71
+ })));
72
+ },
73
+ getById: id => (0, peers_sdk_1.Workflows)().get(id).then(item => item && {
74
+ kind: 'workflow',
75
+ id: item.workflowId,
76
+ name: item.name
77
+ }),
78
+ };
79
+ exports.peerEventTypeMentionConfig = {
80
+ kind: 'event',
81
+ iconClass: 'bi bi-lightning-charge-fill',
82
+ styleClass: 'mention-event',
83
+ query: async (search) => {
84
+ return (0, peers_sdk_1.PeerEventTypes)().list({ name: { $matchWords: search } }, { pageSize: MENTIONS_MAX_RESULTS })
85
+ .then((events) => events.map((event) => ({
86
+ kind: 'event',
87
+ id: event.peerEventTypeId,
88
+ name: event.name,
89
+ })));
90
+ },
91
+ getById: id => (0, peers_sdk_1.PeerEventTypes)().get(id).then(item => item && {
92
+ kind: 'event',
93
+ id: item.peerEventTypeId,
94
+ name: item.name
95
+ }),
96
+ };
97
+ exports.predicateMentionConfig = {
98
+ kind: 'predicate',
99
+ iconClass: 'bi bi-node-plus-fill',
100
+ query: async (search) => {
101
+ const results = await (0, peers_sdk_1.Predicates)().list({ name: { $matchWords: search } }, { pageSize: MENTIONS_MAX_RESULTS });
102
+ return results.map(p => ({
103
+ kind: 'predicate',
104
+ id: p.predicateId,
105
+ name: p.name
106
+ }));
107
+ },
108
+ getById: id => (0, peers_sdk_1.Predicates)().get(id).then(item => item && {
109
+ kind: 'predicate',
110
+ id: item.predicateId,
111
+ name: item.name
112
+ }),
113
+ };
114
+ exports.valueTypeMentionConfig = {
115
+ kind: 'type',
116
+ iconClass: 'bi bi-code-square',
117
+ query: async (search) => {
118
+ const results = await (0, peers_sdk_1.PeerTypes)().list({ name: { $matchWords: search } }, { pageSize: MENTIONS_MAX_RESULTS });
119
+ return results.map(item => ({
120
+ kind: 'type',
121
+ id: item.peerTypeId,
122
+ name: item.name
123
+ }));
124
+ },
125
+ getById: id => (0, peers_sdk_1.PeerTypes)().get(id).then(item => item && {
126
+ kind: 'type',
127
+ id: item.peerTypeId,
128
+ name: item.name
129
+ }),
130
+ onClick(data) {
131
+ peers_sdk_1.rpcClientCalls.setClientPath(`value-types/${data.id}`);
132
+ },
133
+ };
134
+ // Tasks().list({ title: { $matchWords: mentionString }, completeDT: { $exists: searchCompletedTasks } }, { pageSize: MAX_RESULTS })
135
+ // .then((tasks) => tasks.map((task) => ({
136
+ // kind: 'task' as const,
137
+ // id: task.taskId,
138
+ // name: task.title,
139
+ // }))),
140
+ // picture = <i className="bi bi-list-task pe-1" />;
141
+ exports.mentionConfigs = [
142
+ exports.toolMentionConfig,
143
+ exports.userMentionConfig,
144
+ exports.assistantMentionConfig,
145
+ exports.workflowMentionConfig,
146
+ exports.peerEventTypeMentionConfig,
147
+ exports.predicateMentionConfig,
148
+ exports.valueTypeMentionConfig,
149
+ ];
@@ -0,0 +1,5 @@
1
+ import { IAssistant, IDoc } from "@peers-app/peers-sdk";
2
+ import React from "react";
3
+ export declare const AssistantConfig: (props: {
4
+ assistant: IDoc<IAssistant>;
5
+ }) => React.JSX.Element;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.AssistantConfig = void 0;
7
+ const peers_sdk_1 = require("@peers-app/peers-sdk");
8
+ const react_1 = __importDefault(require("react"));
9
+ const io_schema_values_1 = require("../../components/io-schema-values");
10
+ const loading_indicator_1 = require("../../components/loading-indicator");
11
+ const hooks_1 = require("../../hooks");
12
+ const AssistantConfig = (props) => {
13
+ const { assistant } = props;
14
+ const assistantRunnerTool = (0, hooks_1.usePromise)(async () => {
15
+ return await (0, peers_sdk_1.Tools)().get(assistant.assistantRunnerToolId);
16
+ });
17
+ if (assistantRunnerTool === undefined) {
18
+ return react_1.default.createElement(loading_indicator_1.LoadingIndicator, null);
19
+ }
20
+ if (assistantRunnerTool === null) {
21
+ return (react_1.default.createElement("div", null,
22
+ react_1.default.createElement("div", { className: 'mt-2' },
23
+ react_1.default.createElement("small", null, "Assistant Runner Tool:"),
24
+ react_1.default.createElement(AssistantRunnersDropdown, { selectedToolId: assistant.qs.assistantRunnerToolId }))));
25
+ }
26
+ assistantRunnerTool.configSchema = assistantRunnerTool.configSchema ?? {
27
+ type: peers_sdk_1.IOSchemaType.complex,
28
+ fields: []
29
+ };
30
+ return (react_1.default.createElement("div", null,
31
+ react_1.default.createElement("div", { className: 'mt-2' },
32
+ react_1.default.createElement("small", null, "Assistant Runner Tool:"),
33
+ react_1.default.createElement(AssistantRunnersDropdown, { selectedToolId: assistant.qs.assistantRunnerToolId })),
34
+ react_1.default.createElement(io_schema_values_1.IOSchemaValues, { ioSchema: assistantRunnerTool.configSchema, values: assistant.assistantRunnerConfig, q: assistant.q })));
35
+ };
36
+ exports.AssistantConfig = AssistantConfig;
37
+ const AssistantRunnersDropdown = (props) => {
38
+ const [selectedToolId] = (0, hooks_1.useObservable)(props.selectedToolId);
39
+ const modelTools = (0, hooks_1.usePromise)(async () => {
40
+ const modelTools = await (0, peers_sdk_1.Tools)().list({ isAssistantRunner: true });
41
+ return modelTools;
42
+ });
43
+ if (!modelTools) {
44
+ return react_1.default.createElement(loading_indicator_1.LoadingIndicator, null);
45
+ }
46
+ return (react_1.default.createElement("div", { className: "dropdown" },
47
+ react_1.default.createElement("button", { className: "btn btn-secondary dropdown-toggle", type: "button", "data-bs-toggle": "dropdown", "aria-expanded": "false" }, modelTools.find(tool => tool.toolId === selectedToolId)?.name ?? 'Select Tool'),
48
+ react_1.default.createElement("ul", { className: "dropdown-menu" }, modelTools.map(tool => {
49
+ return (react_1.default.createElement("li", { key: tool.toolId, onClick: () => props.selectedToolId(tool.toolId) },
50
+ react_1.default.createElement("span", { className: "dropdown-item" }, tool.name)));
51
+ }))));
52
+ };
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ export declare const AssistantDetails: (props: {
3
+ assistantId: string;
4
+ }) => React.JSX.Element;