@xyo-network/os-runtime 7.2.0 → 7.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (303) hide show
  1. package/dist/neutral/Caller.d.ts +18 -20
  2. package/dist/neutral/Caller.d.ts.map +1 -1
  3. package/dist/neutral/DappCallerBase.d.ts +2 -2
  4. package/dist/neutral/DappCallerBase.d.ts.map +1 -1
  5. package/dist/neutral/OsCallerBase.d.ts +2 -2
  6. package/dist/neutral/PubSubBridgeCaller.d.ts +1 -1
  7. package/dist/neutral/PubSubBridgeCaller.d.ts.map +1 -1
  8. package/dist/neutral/RunningDappCache.d.ts.map +1 -1
  9. package/dist/neutral/XyOs.d.ts +5 -6
  10. package/dist/neutral/XyOs.d.ts.map +1 -1
  11. package/dist/neutral/XyOsBase.d.ts +124 -7
  12. package/dist/neutral/XyOsBase.d.ts.map +1 -1
  13. package/dist/neutral/XyOsDapp.d.ts +3 -3
  14. package/dist/neutral/XyOsDapp.d.ts.map +1 -1
  15. package/dist/neutral/access/Caller.d.ts +2 -2
  16. package/dist/neutral/access/Caller.d.ts.map +1 -1
  17. package/dist/neutral/access/RunningAccessDappCache.d.ts.map +1 -1
  18. package/dist/neutral/access/interfaces/registered-names/helpers/resource/AbstractXnsCaller.d.ts +1 -1
  19. package/dist/neutral/adapter/Base.d.ts +2 -2
  20. package/dist/neutral/adapter/Base.d.ts.map +1 -1
  21. package/dist/neutral/classes/lib/DappCreatorParams.d.ts +3 -3
  22. package/dist/neutral/classes/lib/DappCreatorParams.d.ts.map +1 -1
  23. package/dist/neutral/classes/lib/Insertable.d.ts +1 -3
  24. package/dist/neutral/classes/lib/Insertable.d.ts.map +1 -1
  25. package/dist/neutral/classes/menu/Caller.d.ts +1 -2
  26. package/dist/neutral/classes/menu/Caller.d.ts.map +1 -1
  27. package/dist/neutral/classes/settings/Caller.d.ts +2 -2
  28. package/dist/neutral/classes/settings/CallerBase.d.ts +1 -1
  29. package/dist/neutral/classes/settings/SettingsQueries.d.ts.map +1 -1
  30. package/dist/neutral/classes/settings/badge/Caller.d.ts +2 -2
  31. package/dist/neutral/classes/settings/badge/Resource.d.ts +1 -1
  32. package/dist/neutral/classes/settings/badge/Resource.d.ts.map +1 -1
  33. package/dist/neutral/dapp/context/creator/Creator.d.ts +1 -1
  34. package/dist/neutral/dapp/context/creator/Creator.d.ts.map +1 -1
  35. package/dist/neutral/dapp/context/creator/createDappContext.d.ts.map +1 -1
  36. package/dist/neutral/event/bus/Connection.d.ts +3 -4
  37. package/dist/neutral/event/bus/Connection.d.ts.map +1 -1
  38. package/dist/neutral/event/bus/EventBus.d.ts +1 -1
  39. package/dist/neutral/event/bus/EventBus.d.ts.map +1 -1
  40. package/dist/neutral/event/bus/PubSubConnection.d.ts +1 -1
  41. package/dist/neutral/helpers/monitor/XyOsMonitor.d.ts +2 -2
  42. package/dist/neutral/helpers/monitor/XyOsMonitor.d.ts.map +1 -1
  43. package/dist/neutral/helpers/monitor/types.d.ts +3 -3
  44. package/dist/neutral/helpers/monitor/types.d.ts.map +1 -1
  45. package/dist/neutral/index.mjs +1042 -694
  46. package/dist/neutral/index.mjs.map +1 -1
  47. package/dist/neutral/intent/Caller.d.ts +5 -5
  48. package/dist/neutral/lib/Listener.d.ts +1 -1
  49. package/dist/neutral/lib/Listener.d.ts.map +1 -1
  50. package/dist/neutral/lib/PayloadStore.d.ts +1 -2
  51. package/dist/neutral/lib/PayloadStore.d.ts.map +1 -1
  52. package/dist/neutral/lib/isPayload.d.ts +1 -1
  53. package/dist/neutral/loadOsNode.d.ts.map +1 -1
  54. package/dist/neutral/profileModuleEvents.d.ts +2 -4
  55. package/dist/neutral/profileModuleEvents.d.ts.map +1 -1
  56. package/dist/neutral/registration/DappRegistrationService.d.ts +3 -3
  57. package/dist/neutral/registration/DappRegistrationService.d.ts.map +1 -1
  58. package/dist/neutral/registration/DappRegistry.d.ts +4 -6
  59. package/dist/neutral/registration/DappRegistry.d.ts.map +1 -1
  60. package/dist/neutral/registration/ValidateDappAccessDiviner/Config.d.ts +7 -3
  61. package/dist/neutral/registration/ValidateDappAccessDiviner/Config.d.ts.map +1 -1
  62. package/dist/neutral/registration/ValidateDappAccessDiviner/Diviner.d.ts +3 -1
  63. package/dist/neutral/registration/ValidateDappAccessDiviner/Diviner.d.ts.map +1 -1
  64. package/dist/neutral/scripts/xyos/lib/headless.d.ts.map +1 -1
  65. package/dist/neutral/signer/Signers.d.ts.map +1 -1
  66. package/dist/neutral/stack/Base.d.ts +2 -2
  67. package/dist/neutral/stack/Base.d.ts.map +1 -1
  68. package/dist/neutral/stack/Manager.d.ts +2 -6
  69. package/dist/neutral/stack/Manager.d.ts.map +1 -1
  70. package/dist/neutral/system/ManageSystemDapps.d.ts +3 -3
  71. package/dist/neutral/system/ManageSystemDapps.d.ts.map +1 -1
  72. package/dist/neutral/utils/buildWalletSeedPhrasePayload.d.ts +1 -1
  73. package/dist/neutral/utils/buildWalletSeedPhrasePayload.d.ts.map +1 -1
  74. package/dist/neutral/wallet/SeedPhraseRepository.d.ts +3 -4
  75. package/dist/neutral/wallet/SeedPhraseRepository.d.ts.map +1 -1
  76. package/dist/node/Caller.d.ts +18 -20
  77. package/dist/node/Caller.d.ts.map +1 -1
  78. package/dist/node/DappCallerBase.d.ts +2 -2
  79. package/dist/node/DappCallerBase.d.ts.map +1 -1
  80. package/dist/node/OsCallerBase.d.ts +2 -2
  81. package/dist/node/PubSubBridgeCaller.d.ts +1 -1
  82. package/dist/node/PubSubBridgeCaller.d.ts.map +1 -1
  83. package/dist/node/RunningDappCache.d.ts.map +1 -1
  84. package/dist/node/XyOs.d.ts +5 -6
  85. package/dist/node/XyOs.d.ts.map +1 -1
  86. package/dist/node/XyOsBase.d.ts +124 -7
  87. package/dist/node/XyOsBase.d.ts.map +1 -1
  88. package/dist/node/XyOsDapp.d.ts +3 -3
  89. package/dist/node/XyOsDapp.d.ts.map +1 -1
  90. package/dist/node/access/Caller.d.ts +2 -2
  91. package/dist/node/access/Caller.d.ts.map +1 -1
  92. package/dist/node/access/RunningAccessDappCache.d.ts.map +1 -1
  93. package/dist/node/access/interfaces/registered-names/helpers/resource/AbstractXnsCaller.d.ts +1 -1
  94. package/dist/node/adapter/Base.d.ts +2 -2
  95. package/dist/node/adapter/Base.d.ts.map +1 -1
  96. package/dist/node/classes/lib/DappCreatorParams.d.ts +3 -3
  97. package/dist/node/classes/lib/DappCreatorParams.d.ts.map +1 -1
  98. package/dist/node/classes/lib/Insertable.d.ts +1 -3
  99. package/dist/node/classes/lib/Insertable.d.ts.map +1 -1
  100. package/dist/node/classes/menu/Caller.d.ts +1 -2
  101. package/dist/node/classes/menu/Caller.d.ts.map +1 -1
  102. package/dist/node/classes/settings/Caller.d.ts +2 -2
  103. package/dist/node/classes/settings/CallerBase.d.ts +1 -1
  104. package/dist/node/classes/settings/SettingsQueries.d.ts.map +1 -1
  105. package/dist/node/classes/settings/badge/Caller.d.ts +2 -2
  106. package/dist/node/classes/settings/badge/Resource.d.ts +1 -1
  107. package/dist/node/classes/settings/badge/Resource.d.ts.map +1 -1
  108. package/dist/node/dapp/context/creator/Creator.d.ts +1 -1
  109. package/dist/node/dapp/context/creator/Creator.d.ts.map +1 -1
  110. package/dist/node/dapp/context/creator/createDappContext.d.ts.map +1 -1
  111. package/dist/node/event/bus/Connection.d.ts +3 -4
  112. package/dist/node/event/bus/Connection.d.ts.map +1 -1
  113. package/dist/node/event/bus/EventBus.d.ts +1 -1
  114. package/dist/node/event/bus/EventBus.d.ts.map +1 -1
  115. package/dist/node/event/bus/PubSubConnection.d.ts +1 -1
  116. package/dist/node/helpers/monitor/XyOsMonitor.d.ts +2 -2
  117. package/dist/node/helpers/monitor/XyOsMonitor.d.ts.map +1 -1
  118. package/dist/node/helpers/monitor/types.d.ts +3 -3
  119. package/dist/node/helpers/monitor/types.d.ts.map +1 -1
  120. package/dist/node/index.mjs +1042 -694
  121. package/dist/node/index.mjs.map +1 -1
  122. package/dist/node/intent/Caller.d.ts +5 -5
  123. package/dist/node/lib/Listener.d.ts +1 -1
  124. package/dist/node/lib/Listener.d.ts.map +1 -1
  125. package/dist/node/lib/PayloadStore.d.ts +1 -2
  126. package/dist/node/lib/PayloadStore.d.ts.map +1 -1
  127. package/dist/node/lib/isPayload.d.ts +1 -1
  128. package/dist/node/loadOsNode.d.ts.map +1 -1
  129. package/dist/node/profileModuleEvents.d.ts +2 -4
  130. package/dist/node/profileModuleEvents.d.ts.map +1 -1
  131. package/dist/node/registration/DappRegistrationService.d.ts +3 -3
  132. package/dist/node/registration/DappRegistrationService.d.ts.map +1 -1
  133. package/dist/node/registration/DappRegistry.d.ts +4 -6
  134. package/dist/node/registration/DappRegistry.d.ts.map +1 -1
  135. package/dist/node/registration/ValidateDappAccessDiviner/Config.d.ts +7 -3
  136. package/dist/node/registration/ValidateDappAccessDiviner/Config.d.ts.map +1 -1
  137. package/dist/node/registration/ValidateDappAccessDiviner/Diviner.d.ts +3 -1
  138. package/dist/node/registration/ValidateDappAccessDiviner/Diviner.d.ts.map +1 -1
  139. package/dist/node/scripts/xyos/index.mjs +520 -384
  140. package/dist/node/scripts/xyos/index.mjs.map +1 -1
  141. package/dist/node/scripts/xyos/lib/headless.d.ts.map +1 -1
  142. package/dist/node/signer/Signers.d.ts.map +1 -1
  143. package/dist/node/stack/Base.d.ts +2 -2
  144. package/dist/node/stack/Base.d.ts.map +1 -1
  145. package/dist/node/stack/Manager.d.ts +2 -6
  146. package/dist/node/stack/Manager.d.ts.map +1 -1
  147. package/dist/node/system/ManageSystemDapps.d.ts +3 -3
  148. package/dist/node/system/ManageSystemDapps.d.ts.map +1 -1
  149. package/dist/node/utils/buildWalletSeedPhrasePayload.d.ts +1 -1
  150. package/dist/node/utils/buildWalletSeedPhrasePayload.d.ts.map +1 -1
  151. package/dist/node/wallet/SeedPhraseRepository.d.ts +3 -4
  152. package/dist/node/wallet/SeedPhraseRepository.d.ts.map +1 -1
  153. package/package.json +165 -55
  154. package/dist/neutral/signer/Signer.spec.d.ts +0 -2
  155. package/dist/neutral/signer/Signer.spec.d.ts.map +0 -1
  156. package/dist/neutral/spec/boot.spec.d.ts +0 -2
  157. package/dist/neutral/spec/boot.spec.d.ts.map +0 -1
  158. package/dist/node/signer/Signer.spec.d.ts +0 -2
  159. package/dist/node/signer/Signer.spec.d.ts.map +0 -1
  160. package/dist/node/spec/boot.spec.d.ts +0 -2
  161. package/dist/node/spec/boot.spec.d.ts.map +0 -1
  162. package/src/Caller.ts +0 -202
  163. package/src/DappCallerBase.ts +0 -56
  164. package/src/DefaultsQueries.ts +0 -27
  165. package/src/OsCallerBase.ts +0 -59
  166. package/src/PubSubBridgeCaller.ts +0 -33
  167. package/src/RunningDappCache.ts +0 -58
  168. package/src/XyOs.ts +0 -166
  169. package/src/XyOsBase.ts +0 -136
  170. package/src/XyOsDapp.ts +0 -103
  171. package/src/access/Caller.ts +0 -85
  172. package/src/access/Queries.ts +0 -38
  173. package/src/access/Resource.ts +0 -65
  174. package/src/access/RunningAccessDappCache.ts +0 -21
  175. package/src/access/index.ts +0 -4
  176. package/src/access/interfaces/index.ts +0 -1
  177. package/src/access/interfaces/registered-names/helpers/AccessNodeQueries.ts +0 -68
  178. package/src/access/interfaces/registered-names/helpers/index.ts +0 -2
  179. package/src/access/interfaces/registered-names/helpers/resource/AbstractXnsCaller.ts +0 -42
  180. package/src/access/interfaces/registered-names/helpers/resource/RegistrationsResource.ts +0 -52
  181. package/src/access/interfaces/registered-names/helpers/resource/RegistrationsResourceQueries.ts +0 -23
  182. package/src/access/interfaces/registered-names/helpers/resource/index.ts +0 -3
  183. package/src/access/interfaces/registered-names/index.ts +0 -1
  184. package/src/adapter/Base.ts +0 -104
  185. package/src/adapter/Network.ts +0 -31
  186. package/src/adapter/Settings.ts +0 -30
  187. package/src/adapter/index.ts +0 -2
  188. package/src/adapters/OsPubSubBridgeNetwork.ts +0 -10
  189. package/src/adapters/OsSettings.ts +0 -7
  190. package/src/adapters/OsXyoPublicNetwork.ts +0 -9
  191. package/src/adapters/index.ts +0 -3
  192. package/src/classes/dapp/DefaultsResource.ts +0 -67
  193. package/src/classes/dapp/index.ts +0 -1
  194. package/src/classes/index.ts +0 -4
  195. package/src/classes/lib/DappCreatorParams.ts +0 -18
  196. package/src/classes/lib/Insertable.ts +0 -10
  197. package/src/classes/lib/index.ts +0 -2
  198. package/src/classes/menu/Caller.ts +0 -77
  199. package/src/classes/menu/Queries.ts +0 -60
  200. package/src/classes/menu/Resource.ts +0 -105
  201. package/src/classes/menu/index.ts +0 -2
  202. package/src/classes/settings/Caller.ts +0 -78
  203. package/src/classes/settings/CallerBase.ts +0 -27
  204. package/src/classes/settings/Resource.ts +0 -81
  205. package/src/classes/settings/SettingsQueries.ts +0 -56
  206. package/src/classes/settings/badge/Caller.ts +0 -30
  207. package/src/classes/settings/badge/Queries.ts +0 -19
  208. package/src/classes/settings/badge/Resource.ts +0 -50
  209. package/src/classes/settings/badge/index.ts +0 -2
  210. package/src/classes/settings/index.ts +0 -5
  211. package/src/dapp/context/creator/Creator.ts +0 -122
  212. package/src/dapp/context/creator/DefaultPayloads/DappAccessPayloads.ts +0 -20
  213. package/src/dapp/context/creator/DefaultPayloads/DefaultPayloads.ts +0 -40
  214. package/src/dapp/context/creator/DefaultPayloads/NodeInfoPayload.ts +0 -33
  215. package/src/dapp/context/creator/DefaultPayloads/index.ts +0 -1
  216. package/src/dapp/context/creator/ExternalModulePermissions/ExternalModulePermissions.ts +0 -59
  217. package/src/dapp/context/creator/ExternalModulePermissions/index.ts +0 -1
  218. package/src/dapp/context/creator/createDappContext.ts +0 -61
  219. package/src/dapp/context/creator/index.ts +0 -3
  220. package/src/dapp/context/index.ts +0 -1
  221. package/src/dapp/index.ts +0 -1
  222. package/src/event/bus/Connection.ts +0 -33
  223. package/src/event/bus/EventBus.ts +0 -159
  224. package/src/event/bus/PubSubConnection.ts +0 -28
  225. package/src/event/bus/index.ts +0 -3
  226. package/src/event/connections/DappAccessRequest.ts +0 -11
  227. package/src/event/connections/DappsReady.ts +0 -9
  228. package/src/event/connections/ExposeDappRequest.ts +0 -11
  229. package/src/event/connections/OsPubSubNetworkReady.ts +0 -12
  230. package/src/event/connections/OsSettingsReady.ts +0 -12
  231. package/src/event/connections/OsXyoPublicReady.ts +0 -12
  232. package/src/event/connections/index.ts +0 -6
  233. package/src/event/index.ts +0 -2
  234. package/src/helpers/index.ts +0 -1
  235. package/src/helpers/monitor/XyOsMonitor.ts +0 -52
  236. package/src/helpers/monitor/index.ts +0 -2
  237. package/src/helpers/monitor/types.ts +0 -8
  238. package/src/index.ts +0 -29
  239. package/src/initializer/DappInitializer.ts +0 -57
  240. package/src/initializer/index.ts +0 -1
  241. package/src/intent/Caller.ts +0 -74
  242. package/src/intent/Resource.ts +0 -66
  243. package/src/intent/index.ts +0 -2
  244. package/src/lib/ExternalStore.ts +0 -7
  245. package/src/lib/Listener.ts +0 -1
  246. package/src/lib/ModuleAccountPaths.ts +0 -23
  247. package/src/lib/ModuleNames.ts +0 -3
  248. package/src/lib/NameTransforms.ts +0 -34
  249. package/src/lib/PayloadStore.ts +0 -106
  250. package/src/lib/ResourceStores.ts +0 -7
  251. package/src/lib/index.ts +0 -11
  252. package/src/lib/initializeXns.ts +0 -16
  253. package/src/lib/isEqual.ts +0 -42
  254. package/src/lib/isPayload.ts +0 -24
  255. package/src/lib/tokenPlacesSplit.ts +0 -17
  256. package/src/loadOsNode.ts +0 -44
  257. package/src/manifest/index.ts +0 -2
  258. package/src/manifest/manifestReplacementTokens.ts +0 -6
  259. package/src/manifest/os-node.manifest.json +0 -132
  260. package/src/manifests/dapp-window.manifest.json +0 -36
  261. package/src/manifests/index.ts +0 -1
  262. package/src/models/access/ValidDappAccessInterfaces.ts +0 -6
  263. package/src/models/access/index.ts +0 -1
  264. package/src/models/index.ts +0 -1
  265. package/src/profileModuleEvents.ts +0 -43
  266. package/src/registration/DappRegistrationService.ts +0 -179
  267. package/src/registration/DappRegistry.ts +0 -131
  268. package/src/registration/ValidateDappAccessDiviner/Config.ts +0 -24
  269. package/src/registration/ValidateDappAccessDiviner/Diviner.ts +0 -133
  270. package/src/registration/ValidateDappAccessDiviner/index.ts +0 -2
  271. package/src/registration/index.ts +0 -2
  272. package/src/scripts/xyos/command/config.ts +0 -19
  273. package/src/scripts/xyos/command/create.ts +0 -22
  274. package/src/scripts/xyos/command/index.ts +0 -7
  275. package/src/scripts/xyos/command/manifest.ts +0 -19
  276. package/src/scripts/xyos/command/start.ts +0 -35
  277. package/src/scripts/xyos/index.ts +0 -32
  278. package/src/scripts/xyos/lib/createFromTemplate.ts +0 -11
  279. package/src/scripts/xyos/lib/headless.ts +0 -68
  280. package/src/scripts/xyos/lib/index.ts +0 -2
  281. package/src/signer/Signer.spec.ts +0 -65
  282. package/src/signer/Signers.ts +0 -74
  283. package/src/signer/index.ts +0 -1
  284. package/src/spec/boot.spec.ts +0 -89
  285. package/src/stack/Base.ts +0 -166
  286. package/src/stack/Manager.ts +0 -51
  287. package/src/stack/Map.ts +0 -22
  288. package/src/stack/OsPubSubNetworkStack.ts +0 -70
  289. package/src/stack/OsSettingsStack.ts +0 -24
  290. package/src/stack/XyoPublicNetworkStack.ts +0 -32
  291. package/src/stack/index.ts +0 -6
  292. package/src/system/ManageSystemDapps.ts +0 -148
  293. package/src/system/Queries.ts +0 -69
  294. package/src/system/index.ts +0 -1
  295. package/src/types/global.d.ts +0 -9
  296. package/src/types/images.d.ts +0 -5
  297. package/src/utils/buildWalletSeedPhrasePayload.ts +0 -51
  298. package/src/utils/getApiDomain.ts +0 -14
  299. package/src/utils/index.ts +0 -3
  300. package/src/utils/renameObjKey.ts +0 -22
  301. package/src/wallet/DappSeedPhraseRepository.ts +0 -99
  302. package/src/wallet/SeedPhraseRepository.ts +0 -32
  303. package/src/wallet/index.ts +0 -2
@@ -1,17 +0,0 @@
1
- import { assertEx } from '@xylabs/assert'
2
-
3
- export const tokenPlacesSplit = (value: bigint, places: number): [bigint, bigint] => {
4
- assertEx(places >= 0, () => 'Places has to be >= 0')
5
- const factor = BigInt(10 ** Math.abs(places))
6
- const remainder = value % factor
7
- const wholeValue = value / factor
8
- return [wholeValue, remainder]
9
- }
10
-
11
- export const tokenPlacesSplitString = (value: bigint | undefined, places: number): string => {
12
- if (value === undefined) {
13
- return '-'
14
- }
15
- const [wholeValue, remainder] = tokenPlacesSplit(value, places)
16
- return `${wholeValue}.${remainder.toString().padStart(Math.abs(places), '0')}`
17
- }
package/src/loadOsNode.ts DELETED
@@ -1,44 +0,0 @@
1
- import { IndexedDbArchivist } from '@xyo-network/archivist-indexeddb'
2
- import { IndexedDbPayloadDiviner } from '@xyo-network/diviner-payload-indexeddb'
3
- import type { PackageManifestPayload } from '@xyo-network/manifest'
4
- import { ManifestWrapper } from '@xyo-network/manifest-wrapper'
5
- import { ModuleFactoryLocator } from '@xyo-network/module-factory-locator'
6
- import type { ModuleFactoryLocatorInstance } from '@xyo-network/module-model'
7
- import type { AttachableNodeInstance } from '@xyo-network/node-model'
8
- import type { WalletInstance } from '@xyo-network/wallet-model'
9
-
10
- import { osNodeManifest } from './manifest/index.ts'
11
-
12
- // NOTE: Path "0'" is reserved for the exposed node in the kernel
13
- const OS_NODE_PATH = "1'"
14
-
15
- const getDefaultOsNodeLocator = (): ModuleFactoryLocator => {
16
- const locator = new ModuleFactoryLocator()
17
- locator.register(IndexedDbArchivist.factory(), { 'network.xyo.archivist.persistence.scope': 'device' })
18
- locator.register(IndexedDbPayloadDiviner.factory(), { 'network.xyo.archivist.persistence.scope': 'device' })
19
- return locator
20
- }
21
-
22
- export const loadOsNode = async (
23
- osWallet: WalletInstance,
24
- locator?: ModuleFactoryLocatorInstance,
25
- ): Promise<[AttachableNodeInstance]> => {
26
- try {
27
- // Create wallets for the OS & kernel nodes
28
- const osNodeWallet = await osWallet.derivePath(OS_NODE_PATH)
29
-
30
- // Create the OS node manifest
31
- const osNodeLocator: ModuleFactoryLocatorInstance = locator ?? getDefaultOsNodeLocator()
32
- const manifestWrapper = new ManifestWrapper(osNodeManifest as PackageManifestPayload, osNodeWallet, osNodeLocator)
33
-
34
- // Create the OS & kernel nodes
35
- const osNode = (await manifestWrapper.loadNodes())[0]
36
-
37
- return [osNode]
38
- } catch (e) {
39
- const error = e as Error
40
- console.error(`Error creating os node: ${error.message}`)
41
- console.error(`Error creating os node: ${error.stack}`)
42
- throw new Error(`Error creating os node: ${error.message}`)
43
- }
44
- }
@@ -1,2 +0,0 @@
1
- export * from './manifestReplacementTokens.ts'
2
- export { default as osNodeManifest } from './os-node.manifest.json' with { type: 'json' }
@@ -1,6 +0,0 @@
1
- import { getXnsDomain } from '@xyo-network/kernel'
2
-
3
- export const manifestReplacementTokens = (
4
- xnsNodeUrl: string | undefined,
5
- xnsNetwork: string | undefined,
6
- ) => ({ '[REPLACE_WITH_NS_NODE_URL]': getXnsDomain(xnsNodeUrl, xnsNetwork) })
@@ -1,132 +0,0 @@
1
- {
2
- "$schema": "https://raw.githubusercontent.com/XYOracleNetwork/sdk-xyo-client-js/main/packages/manifest/src/compilations/dapp-package-manifest-schema.json",
3
- "nodes": [
4
- {
5
- "config": {
6
- "accountPath": "0'",
7
- "name": "OsNode",
8
- "schema": "network.xyo.node.config"
9
- },
10
- "modules": {
11
- "private": [],
12
- "public": [
13
- {
14
- "config": {
15
- "accountPath": "1'",
16
- "name": "OSArchivist",
17
- "dbName": "OSArchivist-2025-01-13",
18
- "labels": {
19
- "network.xyo.archivist.persistence.scope": "device"
20
- },
21
- "storeName": "payloads",
22
- "parents": {
23
- "read": [
24
- "Archivist"
25
- ]
26
- },
27
- "schema": "network.xyo.archivist.config"
28
- }
29
- },
30
- {
31
- "config": {
32
- "accountPath": "3'",
33
- "name": "DappsArchivist",
34
- "dbName": "DappsArchivist-2025-01-13",
35
- "labels": {
36
- "network.xyo.archivist.persistence.scope": "device"
37
- },
38
- "storeName": "payloads",
39
- "schema": "network.xyo.archivist.config"
40
- }
41
- },
42
- {
43
- "config": {
44
- "archivist": "DappsArchivist",
45
- "dbVersion": 1,
46
- "name": "DappsArchivistPayloadDiviner",
47
- "labels": {
48
- "network.xyo.archivist.persistence.scope": "device"
49
- },
50
- "schema": "network.xyo.diviner.payload.generic.config"
51
- }
52
- },
53
- {
54
- "config": {
55
- "accountPath": "4'",
56
- "dbName": "IntentArchivist-2025-01-13",
57
- "name": "IntentArchivist",
58
- "storeName": "payloads",
59
- "labels": {
60
- "network.xyo.archivist.persistence.scope": "device"
61
- },
62
- "schema": "network.xyo.archivist.config"
63
- }
64
- },
65
- {
66
- "config": {
67
- "accountPath": "7",
68
- "archivist": "IntentArchivist",
69
- "dbVersion": 1,
70
- "name": "IntentArchivistPayloadDiviner",
71
- "labels": {
72
- "network.xyo.archivist.persistence.scope": "device"
73
- },
74
- "schema": "network.xyo.diviner.payload.generic.config",
75
- "storeName": "payloads"
76
- }
77
- },
78
- {
79
- "config": {
80
- "accountPath": "8",
81
- "name": "RegisteredDappInterfacesArchivist",
82
- "schema": "network.xyo.archivist.memory.config"
83
- }
84
- },
85
- {
86
- "config": {
87
- "accountPath": "9'",
88
- "name": "DappsArchivistDevelopment",
89
- "parents": {
90
- "write": [
91
- "DappsArchivist"
92
- ]
93
- },
94
- "schema": "network.xyo.archivist.memory.config"
95
- }
96
- },
97
- {
98
- "config": {
99
- "accountPath": "10",
100
- "archivist": "DappsArchivistDevelopment",
101
- "dbVersion": 1,
102
- "name": "DappsArchivistPayloadDivinerDevelopment",
103
- "labels": {
104
- "network.xyo.generic.payload.diviner": "GenericPayloadDiviner"
105
- },
106
- "schema": "network.xyo.diviner.payload.generic.config"
107
- }
108
- },
109
- {
110
- "config": {
111
- "name": "OsPubSubNetworkStackNode",
112
- "schema": "network.xyo.node.config"
113
- }
114
- },
115
- {
116
- "config": {
117
- "name": "OsSettingsStackNode",
118
- "schema": "network.xyo.node.config"
119
- }
120
- },
121
- {
122
- "config": {
123
- "name": "OsXyoPublicNetworkStackNode",
124
- "schema": "network.xyo.node.config"
125
- }
126
- }
127
- ]
128
- }
129
- }
130
- ],
131
- "schema": "network.xyo.manifest.package.dapp"
132
- }
@@ -1,36 +0,0 @@
1
- {
2
- "$schema": "https://raw.githubusercontent.com/XYOracleNetwork/sdk-xyo-client-js/main/packages/manifest/src/compilations/dapp-package-manifest-schema.json",
3
- "nodes": [
4
- {
5
- "config": {
6
- "accountPath": "0'",
7
- "name": "Dapp",
8
- "schema": "network.xyo.node.config"
9
- },
10
- "modules": {
11
- "private": [],
12
- "public": [
13
- {
14
- "config": {
15
- "accountPath": "0'/0'",
16
- "name": "DappArchivist",
17
- "schema": "network.xyo.archivist.memory.config"
18
- }
19
- },
20
- {
21
- "config": {
22
- "accountPath": "0'/1'",
23
- "archivist": "DappArchivist",
24
- "labels": {
25
- "network.xyo.generic.payload.diviner": "GenericPayloadDiviner"
26
- },
27
- "name": "DappArchivistPayloadDiviner",
28
- "schema": "network.xyo.diviner.payload.generic.config"
29
- }
30
- }
31
- ]
32
- }
33
- }
34
- ],
35
- "schema": "network.xyo.manifest.package.dapp"
36
- }
@@ -1 +0,0 @@
1
- export { default as DappWindowManifest } from './dapp-window.manifest.json' with { type: 'json' }
@@ -1,6 +0,0 @@
1
- import type { DappAccessInterface } from '@xyo-network/os-model'
2
- import { RegisteredNames, RegisteredNamesInterface } from '@xyo-network/os-model'
3
-
4
- export type ValidDappAccessInterfaces = typeof RegisteredNames
5
-
6
- export const ValidDappAccessInterfaces: Record<string, DappAccessInterface> = { [RegisteredNames]: RegisteredNamesInterface }
@@ -1 +0,0 @@
1
- export * from './ValidDappAccessInterfaces.ts'
@@ -1 +0,0 @@
1
- export * from './access/index.ts'
@@ -1,43 +0,0 @@
1
- import type { Address } from '@xylabs/hex'
2
- import type { QuerySendStartedEventArgs } from '@xyo-network/bridge-model'
3
- import type { ModuleInstance } from '@xyo-network/module-model'
4
- import { PayloadBuilder } from '@xyo-network/payload-builder'
5
-
6
- const DISPLAY_EVENT_COUNT_FREQUENCY = 100 as const
7
-
8
- export interface ProfileEventsData {
9
- allEventCount: number
10
- eventCounts: { [key: string | number | symbol]: number }
11
- }
12
-
13
- export const profileData: Record<Address, ProfileEventsData> = {}
14
-
15
- export const profileModuleEvents = (mod: ModuleInstance) => {
16
- const modRef = new WeakRef(mod) // prevent memory leak
17
- mod.onAny(async (eventName, args) => {
18
- const mod = modRef.deref()
19
- if (mod) {
20
- const data = profileData[mod.address] ?? { allEventCount: 0, eventCounts: {} }
21
- profileData[mod.address] = data
22
- data.allEventCount += 1
23
- data.eventCounts[eventName] = (data.eventCounts[eventName] ?? 0) + 1
24
- if (eventName === 'querySendStarted') {
25
- const { query, payloads = [] } = args as QuerySendStartedEventArgs
26
- const pairs = await PayloadBuilder.dataHashPairs(payloads)
27
- const foundPair = pairs.find(([, hash]) => hash === query.query)
28
- if (foundPair) {
29
- const [payload] = foundPair
30
- console.log(`querySendStarted: ${payload.schema}`)
31
- }
32
- }
33
- if (eventName === 'querySendFinished') {
34
- const { query } = args as QuerySendStartedEventArgs
35
- console.log(`querySendFinished: ${query.query}`)
36
- }
37
- if (data.allEventCount % DISPLAY_EVENT_COUNT_FREQUENCY === 0) {
38
- console.log(`[PROFILE] - ${mod.id} Event Counts:`)
39
- console.log(data.eventCounts)
40
- }
41
- }
42
- })
43
- }
@@ -1,179 +0,0 @@
1
- import { forget } from '@xylabs/forget'
2
- import type { Promisable } from '@xylabs/promise'
3
- import { fulfilled, rejected } from '@xylabs/promise'
4
- import { ModuleFactoryLocator } from '@xyo-network/module-factory-locator'
5
- import type { ModuleFactoryLocatorInstance } from '@xyo-network/module-model'
6
- import type {
7
- DappPackageManifestPayload,
8
- DappParams,
9
- DappRegistrationResults,
10
- PayloadWithVersion,
11
- RegisteredDappSetResult,
12
- XyOsContext,
13
- XyOsDappContext,
14
- } from '@xyo-network/os-model'
15
- import {
16
- DappIntentTypes,
17
- DappMode,
18
- isRegisteredDappAccessDappSet,
19
- isRegisteredDappExposedDappSet,
20
- } from '@xyo-network/os-model'
21
-
22
- import {
23
- dappAccessRequestConnection, DappAccessRequestEvent, exposeDappRequestConnection, ExposeDappRequestEvent,
24
- } from '../event/index.ts'
25
- import { DappIntentCaller } from '../intent/index.ts'
26
- import { NameTransforms } from '../lib/index.ts'
27
- import { ManageSystemDapps } from '../system/index.ts'
28
- import { DappSeedPhraseRepository } from '../wallet/index.ts'
29
- import { XyOsDapp } from '../XyOsDapp.ts'
30
- import { DappRegistry } from './DappRegistry.ts'
31
-
32
- export interface DappRegistrationServiceParams {
33
- dappNames: string[]
34
- dappParams: Record<string, DappParams>
35
- dappPayloads: PayloadWithVersion[]
36
- }
37
-
38
- export class DappRegistrationService {
39
- // Dapps that have been built with their own context
40
- builtDapps: Record<string, XyOsDappContext> = {}
41
-
42
- dappRegistry: DappRegistry
43
- dappSeedPhraseRepository: DappSeedPhraseRepository
44
- manageSystemDapps: ManageSystemDapps
45
-
46
- // Dapps that have been registered with dappAccessRequests
47
- registeredAccessDappSets: Set<RegisteredDappSetResult> = new Set()
48
-
49
- // Dapps that have been registered with the dapp registry
50
- registeredDappSets: Set<RegisteredDappSetResult> = new Set()
51
-
52
- // Dapps that have been registered with exposeDappRequests
53
- registeredExposedDappSets: Set<RegisteredDappSetResult> = new Set()
54
-
55
- private context: XyOsContext
56
-
57
- private dappAccessRequestConnection = dappAccessRequestConnection()
58
- private developmentMode?: boolean
59
-
60
- private exposeDappRequestConnection = exposeDappRequestConnection()
61
-
62
- private locator: ModuleFactoryLocatorInstance
63
-
64
- private params: DappRegistrationServiceParams
65
-
66
- constructor(
67
- context: XyOsContext,
68
- params?: DappRegistrationServiceParams,
69
- locator: ModuleFactoryLocatorInstance = new ModuleFactoryLocator(),
70
- developmentMode?: boolean,
71
- ) {
72
- this.context = context
73
- this.params = params ?? {
74
- dappNames: [], dappParams: {}, dappPayloads: [],
75
- }
76
- this.locator = locator
77
- this.developmentMode = developmentMode
78
-
79
- this.manageSystemDapps = new ManageSystemDapps(
80
- context,
81
- this.params?.dappNames ?? [],
82
- this.params?.dappPayloads ?? [],
83
- this.params?.dappParams ?? {},
84
- this.locator,
85
- this.developmentMode,
86
- )
87
- this.dappSeedPhraseRepository = new DappSeedPhraseRepository(context, this.params?.dappNames ?? [])
88
- this.dappRegistry = new DappRegistry(this.dappSeedPhraseRepository)
89
-
90
- this.addConnectionRequests()
91
- }
92
-
93
- async buildDapp(
94
- manifest: DappPackageManifestPayload,
95
- dappId = NameTransforms.slug(manifest.nodes[0]?.config.name),
96
- name = NameTransforms.moduleName(manifest.nodes[0]?.config.name),
97
- ): Promise<XyOsDappContext> {
98
- const dapp = new XyOsDapp({
99
- dapp: { id: dappId, name },
100
- locator: this.locator,
101
- manifest,
102
- parent: this.context,
103
- user: await this.getUser(),
104
- }) as XyOsDappContext
105
- this.builtDapps[dappId] = dapp
106
- return dapp
107
- }
108
-
109
- getParamsForRegisteredDapp(dappId: string) {
110
- return this.params?.dappParams[dappId]
111
- }
112
-
113
- async start(): Promise<DappRegistrationResults> {
114
- const systemDapps = await this.context.monitor(async () => await this.manageSystemDapps.install(), { name: 'Install System dApps' })
115
- const activeDapps = systemDapps.filter(({ dapp }) => dapp.icon.active === true)
116
- const results = await Promise.allSettled(
117
- activeDapps.map(async (dappSet) => {
118
- const { dapp } = dappSet
119
- const registeredDapp = await this.dappRegistry.registerDapp(dapp)
120
- const result: RegisteredDappSetResult = { dapp: registeredDapp, dappIcon: dapp.icon }
121
-
122
- // Start post registration process in the background
123
- const forgetHandlers = async () => {
124
- try {
125
- await this.postRegistrationHandlers(result)
126
- } catch (e) {
127
- console.error('Error in post registration handlers', e)
128
- }
129
- }
130
- forget(forgetHandlers())
131
-
132
- return result
133
- }),
134
- )
135
- const failed = results.filter(rejected).map(result => result.reason)
136
- const succeeded = results.filter(fulfilled).map(result => result.value)
137
-
138
- for (const registeredDapp of succeeded) this.registeredDappSets.add(registeredDapp)
139
-
140
- return { failed, succeeded }
141
- }
142
-
143
- private addConnectionRequests() {
144
- this.context.eventBus.addConnection(this.dappAccessRequestConnection)
145
- this.context.eventBus.addConnection(this.exposeDappRequestConnection)
146
- }
147
-
148
- /**
149
- * A method to get the user property from context and eventually modify it before handing it to a dapp
150
- * i.e. curating user-approved signers
151
- */
152
- private getUser(): Promisable<XyOsContext['user']> {
153
- return this.context.user
154
- }
155
-
156
- private async postRegistrationHandlers(registeredDapp: RegisteredDappSetResult) {
157
- if (registeredDapp.dapp) {
158
- if (isRegisteredDappExposedDappSet(registeredDapp)) {
159
- // add to exposed dapp set
160
- this.registeredExposedDappSets.add(registeredDapp)
161
- // craft intent
162
- const exposeIntent = DappIntentCaller.buildIntent(
163
- DappIntentCaller.OsDappName,
164
- DappIntentTypes.Launch,
165
- registeredDapp.dapp.config.name,
166
- DappMode.Exposed,
167
- )
168
- // emit to bus
169
- await this.exposeDappRequestConnection.emit(ExposeDappRequestEvent, { payloads: [registeredDapp.dapp.config, exposeIntent] })
170
- }
171
- if (isRegisteredDappAccessDappSet(registeredDapp)) {
172
- // add to access dapp set
173
- this.registeredAccessDappSets.add(registeredDapp)
174
- // emit to bus
175
- await this.dappAccessRequestConnection.emit(DappAccessRequestEvent, { payloads: registeredDapp.dapp.accessors })
176
- }
177
- }
178
- }
179
- }
@@ -1,131 +0,0 @@
1
- import type { Hash } from '@xylabs/hex'
2
- import type {
3
- DappPackageManifestPayload,
4
- DappParams,
5
- RegisteredDapp,
6
- RegisteredDappAccess,
7
- UnregisteredDapp,
8
- UnregisteredDappAccess,
9
- } from '@xyo-network/os-model'
10
- import {
11
- DappRegisteredSchema,
12
- DappRegisteredState,
13
- isRegisteredDappAccess,
14
- } from '@xyo-network/os-model'
15
- import { HDWallet } from '@xyo-network/wallet'
16
-
17
- import type { DappSeedPhraseRepository } from '../wallet/index.ts'
18
- import type { FailedAccessor } from './ValidateDappAccessDiviner/index.ts'
19
- import {
20
- isFailedAccessor,
21
- ValidateDappAccessDiviner,
22
- ValidateDappAccessDivinerConfigSchema,
23
- } from './ValidateDappAccessDiviner/index.ts'
24
-
25
- export type DappRegisteredId = string
26
-
27
- /**
28
- * Manage Dapp Registration
29
- */
30
- export class DappRegistry {
31
- private dappRegistry: Map<DappRegisteredId, RegisteredDapp> = new Map()
32
- private dappSeedPhraseRepository: DappSeedPhraseRepository
33
-
34
- constructor(dappSeedPhraseRepository: DappSeedPhraseRepository) {
35
- this.dappSeedPhraseRepository = dappSeedPhraseRepository
36
- }
37
-
38
- /**
39
- * Register a Dapp with window manager and if successful, return its id
40
- *
41
- * @param {UnregisteredDapp} dapp Manifest and UI of the Dapp to register
42
- * @returns {RegisteredDapp} dapp with registration fields
43
- **/
44
- async registerDapp(dapp?: UnregisteredDapp): Promise<RegisteredDapp | null> {
45
- if (dapp) {
46
- const {
47
- exposedModuleIds, manifest, modes, name, version, params, widgetConfigs,
48
- } = this.extractDappProperties(dapp)
49
-
50
- try {
51
- /**
52
- * TODO: More validation from sources is needed for third-party dapps. A name needs some form of verification
53
- * before trusting it with a seed phrase at that given name.
54
- */
55
-
56
- // get a seed phrase for the given dapp id
57
- const walletId = await this.dappSeedPhraseRepository.findOrCreate(name)
58
-
59
- const registeredAccessors = await this.validateDappAccessPayloads(manifest, dapp.accessors, params)
60
-
61
- const registeredDapp: RegisteredDapp = {
62
- accessors: registeredAccessors,
63
- config: {
64
- exposedModuleIds,
65
- manifest,
66
- modes,
67
- name,
68
- schema: DappRegisteredSchema,
69
- state: DappRegisteredState.Registered,
70
- version,
71
- // attach the walletId to a registered dapp so it can request it back in the future
72
- walletId,
73
- },
74
- params,
75
- widgetConfigs,
76
- }
77
-
78
- if (this.dappRegistry.get(name)) {
79
- console.warn('tried to register two dapps with the same name', name)
80
- return null
81
- }
82
- this.dappRegistry.set(name, registeredDapp)
83
- return registeredDapp
84
- } catch (e) {
85
- console.error('Error registeringDapp', e)
86
- return null
87
- }
88
- } else {
89
- return null
90
- }
91
- }
92
-
93
- /**
94
- * Unregister a dapp so it can no longer be launched
95
- *
96
- * @param dappId
97
- */
98
- unregisterDapp(dappId: Hash) {
99
- this.dappRegistry.delete(dappId)
100
- }
101
-
102
- private extractDappProperties(dapp: UnregisteredDapp) {
103
- const {
104
- params, config, widgetConfigs,
105
- } = dapp
106
- const {
107
- exposedModuleIds, manifest, modes, name, sources, version,
108
- } = config
109
-
110
- return {
111
- exposedModuleIds, manifest, modes, name, params, sources, version, widgetConfigs,
112
- }
113
- }
114
-
115
- private async validateDappAccessPayloads(manifest: DappPackageManifestPayload, accessors: UnregisteredDappAccess[] = [], params: DappParams) {
116
- const validateDappAccess = await ValidateDappAccessDiviner.create({
117
- account: await HDWallet.random(),
118
- config: { schema: ValidateDappAccessDivinerConfigSchema },
119
- dappParams: params,
120
- })
121
- const payloads = await validateDappAccess.divine([manifest, ...accessors])
122
- const failedAccessors = payloads.filter(isFailedAccessor) as FailedAccessor[]
123
- const registeredAccessors = payloads.filter(isRegisteredDappAccess) as RegisteredDappAccess[]
124
-
125
- if (failedAccessors.length > 0) {
126
- console.error('Failed to register all dapp accessors', failedAccessors)
127
- }
128
-
129
- return registeredAccessors
130
- }
131
- }
@@ -1,24 +0,0 @@
1
- import type { DivinerParams } from '@xyo-network/diviner-model'
2
- import type { PackageManifestPayload } from '@xyo-network/manifest'
3
- import type {
4
- DappPackageManifestPayload, DappParams, RegisteredDappAccess, UnregisteredDappAccess,
5
- } from '@xyo-network/os-model'
6
- import type { Payload } from '@xyo-network/payload-model'
7
- import { isPayloadOfSchemaType } from '@xyo-network/payload-model'
8
-
9
- export const FailedAccessorSchema = 'network.xyo.os.failed.accessor.registration' as const
10
- export type FailedAccessorSchema = typeof FailedAccessorSchema
11
-
12
- export type FailedAccessor = Payload<{
13
- accessor: UnregisteredDappAccess
14
- errorMessage: string
15
- }, FailedAccessorSchema>
16
-
17
- export const isFailedAccessor = isPayloadOfSchemaType<FailedAccessor>(FailedAccessorSchema)
18
-
19
- export type ValidateDappAccessDivinerParams = DivinerParams & { dappParams: DappParams }
20
- export type ValidateDappAccessDivinerIn = DappPackageManifestPayload | PackageManifestPayload | UnregisteredDappAccess
21
- export type ValidateDappAccessDivinerOut = RegisteredDappAccess | FailedAccessor
22
-
23
- export const ValidateDappAccessDivinerConfigSchema = 'network.xyo.os.dapp.access.registration.validate' as const
24
- export type ValidateDappAccessDivinerConfigSchema = typeof ValidateDappAccessDivinerConfigSchema