@xyo-network/os-runtime 5.0.13 → 6.0.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 (47) hide show
  1. package/dist/neutral/index.mjs +88 -55
  2. package/dist/neutral/index.mjs.map +1 -1
  3. package/dist/node/index.mjs +88 -55
  4. package/dist/node/index.mjs.map +1 -1
  5. package/dist/node/scripts/xyos/index.mjs +57 -38
  6. package/dist/node/scripts/xyos/index.mjs.map +1 -1
  7. package/dist/types/DappCallerBase.d.ts +4 -52
  8. package/dist/types/DappCallerBase.d.ts.map +1 -1
  9. package/dist/types/OsCallerBase.d.ts +5 -61
  10. package/dist/types/OsCallerBase.d.ts.map +1 -1
  11. package/dist/types/XyOs.d.ts +2 -18
  12. package/dist/types/XyOs.d.ts.map +1 -1
  13. package/dist/types/XyOsDapp.d.ts +2 -18
  14. package/dist/types/XyOsDapp.d.ts.map +1 -1
  15. package/dist/types/access/RunningAccessDappCache.d.ts +1 -9
  16. package/dist/types/access/RunningAccessDappCache.d.ts.map +1 -1
  17. package/dist/types/access/interfaces/registered-names/helpers/AccessNodeQueries.d.ts +1 -9
  18. package/dist/types/access/interfaces/registered-names/helpers/AccessNodeQueries.d.ts.map +1 -1
  19. package/dist/types/access/interfaces/registered-names/helpers/resource/AbstractXnsCaller.d.ts +3 -35
  20. package/dist/types/access/interfaces/registered-names/helpers/resource/AbstractXnsCaller.d.ts.map +1 -1
  21. package/dist/types/adapter/Base.d.ts +1 -9
  22. package/dist/types/adapter/Base.d.ts.map +1 -1
  23. package/dist/types/adapter/Network.d.ts +1 -9
  24. package/dist/types/adapter/Network.d.ts.map +1 -1
  25. package/dist/types/adapter/Settings.d.ts +1 -9
  26. package/dist/types/adapter/Settings.d.ts.map +1 -1
  27. package/dist/types/classes/settings/CallerBase.d.ts +2 -26
  28. package/dist/types/classes/settings/CallerBase.d.ts.map +1 -1
  29. package/dist/types/event/bus/EventBus.d.ts +1 -9
  30. package/dist/types/event/bus/EventBus.d.ts.map +1 -1
  31. package/dist/types/lib/isPayload.d.ts +1 -4
  32. package/dist/types/lib/isPayload.d.ts.map +1 -1
  33. package/dist/types/stack/OsPubSubNetworkStack.d.ts +2 -18
  34. package/dist/types/stack/OsPubSubNetworkStack.d.ts.map +1 -1
  35. package/package.json +44 -44
  36. package/src/DappCallerBase.ts +4 -4
  37. package/src/OsCallerBase.ts +5 -5
  38. package/src/PubSubBridgeCaller.ts +1 -1
  39. package/src/access/Caller.ts +1 -1
  40. package/src/access/interfaces/registered-names/helpers/AccessNodeQueries.ts +2 -2
  41. package/src/access/interfaces/registered-names/helpers/resource/AbstractXnsCaller.ts +3 -3
  42. package/src/adapter/Base.ts +2 -2
  43. package/src/classes/settings/CallerBase.ts +2 -2
  44. package/src/dapp/context/creator/createDappContext.ts +1 -1
  45. package/src/event/bus/EventBus.ts +1 -0
  46. package/src/loadOsNode.ts +2 -2
  47. package/src/stack/Base.ts +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/os-runtime",
3
- "version": "5.0.13",
3
+ "version": "6.0.0",
4
4
  "description": "Primary SDK for using XYO Protocol 2.0",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -35,64 +35,64 @@
35
35
  "xyos": "./scripts/xyos.mjs"
36
36
  },
37
37
  "dependencies": {
38
- "@xylabs/array": "^4.11.10",
39
- "@xylabs/assert": "^4.11.10",
40
- "@xylabs/base": "^4.11.10",
41
- "@xylabs/events": "^4.11.10",
42
- "@xylabs/forget": "^4.11.10",
43
- "@xylabs/hex": "^4.11.10",
44
- "@xylabs/object": "^4.11.10",
45
- "@xylabs/promise": "^4.11.10",
46
- "@xyo-network/account-model": "^3.18.2",
47
- "@xyo-network/archivist": "^3.18.2",
48
- "@xyo-network/archivist-indexeddb": "^3.18.2",
49
- "@xyo-network/archivist-memory": "^3.18.2",
50
- "@xyo-network/archivist-model": "^3.18.2",
51
- "@xyo-network/bios": "^5.0.13",
52
- "@xyo-network/bridge-model": "^3.18.2",
53
- "@xyo-network/diviner-abstract": "^3.18.2",
54
- "@xyo-network/diviner-model": "^3.18.2",
55
- "@xyo-network/diviner-payload-generic": "^3.18.2",
56
- "@xyo-network/diviner-payload-indexeddb": "^3.18.2",
57
- "@xyo-network/diviner-payload-model": "^3.18.2",
58
- "@xyo-network/diviner-temporal-indexing-model": "^3.18.2",
59
- "@xyo-network/kernel": "^5.0.13",
60
- "@xyo-network/kernel-model": "^5.0.13",
61
- "@xyo-network/manifest": "^3.18.2",
62
- "@xyo-network/manifest-wrapper": "^3.18.2",
63
- "@xyo-network/module-factory-locator": "^3.18.2",
64
- "@xyo-network/module-model": "^3.18.2",
65
- "@xyo-network/module-resolver": "^3.18.2",
66
- "@xyo-network/node-model": "^3.18.2",
67
- "@xyo-network/os-model": "^5.0.13",
68
- "@xyo-network/payload-builder": "^3.18.2",
69
- "@xyo-network/payload-model": "^3.18.2",
70
- "@xyo-network/storage-model": "^5.0.13",
71
- "@xyo-network/wallet": "^3.18.2",
72
- "@xyo-network/wallet-model": "^3.18.2",
38
+ "@xylabs/array": "^4.12.31",
39
+ "@xylabs/assert": "^4.12.31",
40
+ "@xylabs/base": "^4.12.31",
41
+ "@xylabs/events": "^4.12.31",
42
+ "@xylabs/forget": "^4.12.31",
43
+ "@xylabs/hex": "^4.12.31",
44
+ "@xylabs/object": "^4.12.31",
45
+ "@xylabs/promise": "^4.12.31",
46
+ "@xyo-network/account-model": "^4.0.1",
47
+ "@xyo-network/archivist": "^4.0.1",
48
+ "@xyo-network/archivist-indexeddb": "^4.0.1",
49
+ "@xyo-network/archivist-memory": "^4.0.1",
50
+ "@xyo-network/archivist-model": "^4.0.1",
51
+ "@xyo-network/bios": "^6.0.0",
52
+ "@xyo-network/bridge-model": "^4.0.1",
53
+ "@xyo-network/diviner-abstract": "^4.0.1",
54
+ "@xyo-network/diviner-model": "^4.0.1",
55
+ "@xyo-network/diviner-payload-generic": "^4.0.1",
56
+ "@xyo-network/diviner-payload-indexeddb": "^4.0.1",
57
+ "@xyo-network/diviner-payload-model": "^4.0.1",
58
+ "@xyo-network/diviner-temporal-indexing-model": "^4.0.1",
59
+ "@xyo-network/kernel": "^6.0.0",
60
+ "@xyo-network/kernel-model": "^6.0.0",
61
+ "@xyo-network/manifest": "^4.0.1",
62
+ "@xyo-network/manifest-wrapper": "^4.0.1",
63
+ "@xyo-network/module-factory-locator": "^4.0.1",
64
+ "@xyo-network/module-model": "^4.0.1",
65
+ "@xyo-network/module-resolver": "^4.0.1",
66
+ "@xyo-network/node-model": "^4.0.1",
67
+ "@xyo-network/os-model": "^6.0.0",
68
+ "@xyo-network/payload-builder": "^4.0.1",
69
+ "@xyo-network/payload-model": "^4.0.1",
70
+ "@xyo-network/storage-model": "^6.0.0",
71
+ "@xyo-network/wallet": "^4.0.1",
72
+ "@xyo-network/wallet-model": "^4.0.1",
73
73
  "async-mutex": "^0.5.0",
74
74
  "chalk": "^5.4.1",
75
75
  "cosmiconfig": "^9.0.0",
76
76
  "cosmiconfig-typescript-loader": "^6.1.0",
77
- "ethers": "^6.14.3",
77
+ "ethers": "^6.15.0",
78
78
  "semver": "^7.7.2",
79
79
  "terminal-kit": "^3.1.2",
80
80
  "uuid": "^11.1.0",
81
81
  "yargs": "^18.0.0"
82
82
  },
83
83
  "devDependencies": {
84
- "@types/node": "^22.15.29",
84
+ "@types/node": "^24.0.10",
85
85
  "@types/semver": "^7.7.0",
86
86
  "@types/terminal-kit": "^2.5.7",
87
87
  "@types/uuid": "^10.0.0",
88
88
  "@types/yargs": "^17.0.33",
89
- "@xylabs/ts-scripts-yarn3": "^6.5.7",
90
- "@xylabs/tsconfig": "^6.5.7",
91
- "@xyo-network/archivist-memory": "^3.18.2",
92
- "@xyo-network/bios-model": "^5.0.13",
93
- "@xyo-network/bios-nodejs": "^5.0.13",
89
+ "@xylabs/ts-scripts-yarn3": "^6.5.12",
90
+ "@xylabs/tsconfig": "^6.5.12",
91
+ "@xyo-network/archivist-memory": "^4.0.1",
92
+ "@xyo-network/bios-model": "^6.0.0",
93
+ "@xyo-network/bios-nodejs": "^6.0.0",
94
94
  "typescript": "^5.8.3",
95
- "vitest": "^3.2.1"
95
+ "vitest": "^3.2.4"
96
96
  },
97
97
  "publishConfig": {
98
98
  "access": "public"
@@ -19,7 +19,7 @@ export class DappCallerBase {
19
19
  await this.context.root.resolve(DappArchivistModuleName),
20
20
  () => `${DappArchivistModuleName} not found [${toJsonString(this.context.root.publicChildren())}]`,
21
21
  )
22
- return asArchivistInstance(mod, () => `${DappArchivistModuleName} is not an archivist`)
22
+ return asArchivistInstance(mod, () => `${DappArchivistModuleName} is not an archivist`, { required: true })
23
23
  }
24
24
 
25
25
  /**
@@ -30,7 +30,7 @@ export class DappCallerBase {
30
30
  await this.context.root.resolve(DappArchivistPayloadDivinerModuleName),
31
31
  () => `${DappArchivistPayloadDivinerModuleName} not found`,
32
32
  )
33
- return asDivinerInstance(mod, () => `${DappArchivistPayloadDivinerModuleName} is not a diviner`)
33
+ return asDivinerInstance(mod, () => `${DappArchivistPayloadDivinerModuleName} is not a diviner`, { required: true })
34
34
  }
35
35
 
36
36
  /**
@@ -38,7 +38,7 @@ export class DappCallerBase {
38
38
  */
39
39
  async getDappIntentArchivist() {
40
40
  const mod = assertEx(await this.context.root.resolve(IntentArchivistModuleName), () => `${IntentArchivistModuleName} not found`)
41
- return asArchivistInstance(mod, () => `${IntentArchivistModuleName} is not an archivist`)
41
+ return asArchivistInstance(mod, () => `${IntentArchivistModuleName} is not an archivist`, { required: true })
42
42
  }
43
43
 
44
44
  // Get the IntentArchivistPayloadDiviner
@@ -47,6 +47,6 @@ export class DappCallerBase {
47
47
  await this.context.root.resolve(IntentArchivistPayloadDivinerModuleName),
48
48
  () => `${IntentArchivistPayloadDivinerModuleName} not found`,
49
49
  )
50
- return asDivinerInstance(mod, () => `${IntentArchivistPayloadDivinerModuleName} is not a diviner`)
50
+ return asDivinerInstance(mod, () => `${IntentArchivistPayloadDivinerModuleName} is not a diviner`, { required: true })
51
51
  }
52
52
  }
@@ -14,7 +14,7 @@ export class OsCallerBase {
14
14
  // Get the dapps archivist
15
15
  async getDappsArchivist() {
16
16
  const mod = assertEx(await this.context.root.resolve(DappsArchivistModuleName), () => `${DappsArchivistModuleName} not found`)
17
- return asArchivistInstance(mod, () => `${DappsArchivistModuleName} is not an archivist`)
17
+ return asArchivistInstance(mod, () => `${DappsArchivistModuleName} is not an archivist`, { required: true })
18
18
  }
19
19
 
20
20
  // Get the dapps archivist development
@@ -23,7 +23,7 @@ export class OsCallerBase {
23
23
  await this.context.root.resolve(DappsArchivistDevelopmentModuleName),
24
24
  () => `${DappsArchivistDevelopmentModuleName} not found`,
25
25
  )
26
- return asArchivistInstance(mod, () => `${DappsArchivistDevelopmentModuleName} is not an archivist`)
26
+ return asArchivistInstance(mod, () => `${DappsArchivistDevelopmentModuleName} is not an archivist`, { required: true })
27
27
  }
28
28
 
29
29
  // Get the dapps archivist payload diviner
@@ -32,7 +32,7 @@ export class OsCallerBase {
32
32
  await this.context.root.resolve(DappsArchivistPayloadDivinerModuleName),
33
33
  () => `${DappsArchivistPayloadDivinerModuleName} not found`,
34
34
  )
35
- return asDivinerInstance(mod, () => `${DappsArchivistPayloadDivinerModuleName} is not a diviner`)
35
+ return asDivinerInstance(mod, () => `${DappsArchivistPayloadDivinerModuleName} is not a diviner`, { required: true })
36
36
  }
37
37
 
38
38
  // Get the dapps archivist payload diviner development
@@ -41,7 +41,7 @@ export class OsCallerBase {
41
41
  await this.context.root.resolve(DappsArchivistPayloadDevelopmentDivinerModuleName),
42
42
  () => `${DappsArchivistPayloadDevelopmentDivinerModuleName} not found`,
43
43
  )
44
- return asDivinerInstance(mod, () => `${DappsArchivistPayloadDevelopmentDivinerModuleName} is not a diviner`)
44
+ return asDivinerInstance(mod, () => `${DappsArchivistPayloadDevelopmentDivinerModuleName} is not a diviner`, { required: true })
45
45
  }
46
46
 
47
47
  // Get the registered dapp interfaces archivist
@@ -50,6 +50,6 @@ export class OsCallerBase {
50
50
  await this.context.root.resolve(RegisteredDappInterfacesArchivistModuleName),
51
51
  () => `${RegisteredDappInterfacesArchivistModuleName} not found`,
52
52
  )
53
- return asArchivistInstance(mod, () => `${RegisteredDappInterfacesArchivistModuleName} is not an archivist`)
53
+ return asArchivistInstance(mod, () => `${RegisteredDappInterfacesArchivistModuleName} is not an archivist`, { required: true })
54
54
  }
55
55
  }
@@ -25,6 +25,6 @@ export class PubSubBridgeCaller {
25
25
 
26
26
  private async getPubSubBridge() {
27
27
  const mod = assertEx(await this.node.resolve(BridgedPubSubModuleName), () => `${BridgedPubSubModuleName} not found`)
28
- return asBridgeInstance(mod, () => `${BridgedPubSubModuleName} is not a bridge`)
28
+ return asBridgeInstance(mod, () => `${BridgedPubSubModuleName} is not a bridge`, { required: true })
29
29
  }
30
30
  }
@@ -55,7 +55,7 @@ export class DappAccessCaller extends OsCallerBase implements PostRegistrationHa
55
55
  private async cacheAccessNode(dappAccessor: RegisteredDappAccess, context: XyOsContext) {
56
56
  const accessNodeId = dappAccessor.rootModuleId
57
57
  const accessNodeModule = assertEx(await context.root.resolve(accessNodeId), () => 'Access Node Module not found')
58
- const accessNode = asNodeInstance(accessNodeModule, () => 'Access Node Module is not a NodeInstance')
58
+ const accessNode = asNodeInstance(accessNodeModule, () => 'Access Node Module is not a NodeInstance', { required: true })
59
59
 
60
60
  RunningDappAccessCache.set(dappAccessor.registeringDappId, accessNode)
61
61
  }
@@ -36,7 +36,7 @@ export class AccessNodeQueries {
36
36
  private async getArchivistFromDappNode() {
37
37
  const archivistPath = this.accessRequest?.destinationArchivist || 'DappArchivist'
38
38
  const mod = assertEx(await this.xyOsContext.root.resolve(archivistPath), () => `Unable to find archivist at ${archivistPath}`)
39
- return asArchivistInstance(mod, () => `Module at ${archivistPath} is not an archivist`)
39
+ return asArchivistInstance(mod, () => `Module at ${archivistPath} is not an archivist`, { required: true })
40
40
  }
41
41
 
42
42
  private async getPayloadsFromAccessNode() {
@@ -55,6 +55,6 @@ export class AccessNodeQueries {
55
55
  await this.nameServiceNamesAccessNode.resolve('PublicXnsArchivist'),
56
56
  () => 'Unable to find archivist at PublicXnsArchivist',
57
57
  )
58
- return asArchivistInstance(archivist, () => 'PublicXnsArchivist is not an archivist')
58
+ return asArchivistInstance(archivist, () => 'PublicXnsArchivist is not an archivist', { required: true })
59
59
  }
60
60
  }
@@ -15,7 +15,7 @@ export abstract class AbstractXnsCaller {
15
15
  async getXnsArchivist(pathPrefix?: string) {
16
16
  const fullyQualifiedPath = pathPrefix ? `${pathPrefix}:${XnsArchivistModuleName}` : XnsArchivistModuleName
17
17
  const mod = assertEx(await this.context.root.resolve(fullyQualifiedPath), () => `${fullyQualifiedPath} not found`)
18
- return asArchivistInstance(mod, () => `${fullyQualifiedPath} is not an archivist`)
18
+ return asArchivistInstance(mod, () => `${fullyQualifiedPath} is not an archivist`, { required: true })
19
19
  }
20
20
 
21
21
  /**
@@ -24,7 +24,7 @@ export abstract class AbstractXnsCaller {
24
24
  async getXnsArchivistPayloadDiviner(pathPrefix?: string) {
25
25
  const fullyQualifiedPath = pathPrefix ? `${pathPrefix}:${XnsArchivistPayloadDivinerModuleName}` : XnsArchivistPayloadDivinerModuleName
26
26
  const mod = assertEx(await this.context.root.resolve(fullyQualifiedPath), () => `${fullyQualifiedPath} not found`)
27
- return asDivinerInstance(mod, () => `${fullyQualifiedPath} is not an diviner`)
27
+ return asDivinerInstance(mod, () => `${fullyQualifiedPath} is not an diviner`, { required: true })
28
28
  }
29
29
 
30
30
  /**
@@ -33,6 +33,6 @@ export abstract class AbstractXnsCaller {
33
33
  async getXnsRegistrationsArchivist(pathPrefix?: string) {
34
34
  const fullyQualifiedPath = pathPrefix ? `${pathPrefix}:${XnsRegistrationsArchivistModuleName}` : XnsRegistrationsArchivistModuleName
35
35
  const mod = assertEx(await this.context.root.resolve(fullyQualifiedPath), () => `${fullyQualifiedPath} not found`)
36
- return asArchivistInstance(mod, () => `${fullyQualifiedPath} is not an archivist`)
36
+ return asArchivistInstance(mod, () => `${fullyQualifiedPath} is not an archivist`, { required: true })
37
37
  }
38
38
  }
@@ -78,14 +78,14 @@ export class NodeAdapterBase extends BaseEmitter<BaseParams, NodeAdapterBaseEven
78
78
 
79
79
  private async getEventsArchivist() {
80
80
  const mod = assertEx(await (await this.kernel.getNode()).resolve('KernelNode:ModuleEvents'), () => 'KernelNode:ModuleEvents not found')
81
- return asArchivistInstance(mod, () => `${mod.id} is not an archivist`)
81
+ return asArchivistInstance(mod, () => `${mod.id} is not an archivist`, { required: true })
82
82
  }
83
83
 
84
84
  private validateAndReturnDriver() {
85
85
  const mod = this.kernel.initialized[this.driverName]
86
86
  if (mod) {
87
87
  // confirm expected shape
88
- const node = asAttachableNodeInstance(mod, () => `${mod.id} is not a node`)
88
+ const node = asAttachableNodeInstance(mod, () => `${mod.id} is not a node`, { required: true })
89
89
 
90
90
  // set the initialized flag
91
91
  this.initialized = true
@@ -11,7 +11,7 @@ export class OsSettingsCallerBase {
11
11
 
12
12
  async getOsSettingsArchivist() {
13
13
  const mod = assertEx(await this.context.root.resolve(OsSettingsArchivistModuleName), () => `${OsSettingsArchivistModuleName} not found`)
14
- return asArchivistInstance(mod, () => `${OsSettingsArchivistModuleName} is not an archivist`)
14
+ return asArchivistInstance(mod, () => `${OsSettingsArchivistModuleName} is not an archivist`, { required: true })
15
15
  }
16
16
 
17
17
  async getOsSettingsPayloadDiviner() {
@@ -19,6 +19,6 @@ export class OsSettingsCallerBase {
19
19
  await this.context.root.resolve(OsSettingsArchivistPayloadDivinerModuleName),
20
20
  () => `${OsSettingsArchivistPayloadDivinerModuleName} not found`,
21
21
  )
22
- return asDivinerInstance(mod, () => `${OsSettingsArchivistPayloadDivinerModuleName} is not a diviner`)
22
+ return asDivinerInstance(mod, () => `${OsSettingsArchivistPayloadDivinerModuleName} is not a diviner`, { required: true })
23
23
  }
24
24
  }
@@ -14,7 +14,7 @@ const GenericPayloadDivinerTags = { 'network.xyo.generic.payload.diviner': 'Gene
14
14
 
15
15
  const resolveLocator = (existingLocator?: ModuleFactoryLocatorInstance): ModuleFactoryLocatorInstance => {
16
16
  const locator = existingLocator ?? new ModuleFactoryLocator()
17
- locator.register(GenericPayloadDiviner, GenericPayloadDivinerTags)
17
+ locator.register(GenericPayloadDiviner.factory(), GenericPayloadDivinerTags)
18
18
  return locator
19
19
  }
20
20
 
@@ -44,6 +44,7 @@ export class EventBus implements EventBusInterface {
44
44
  return asArchivistInstance(
45
45
  assertEx(this._archivist, () => 'Archivist not found. Did you forget to call start()?'),
46
46
  'not a valid archivist instance',
47
+ { required: true },
47
48
  )
48
49
  }
49
50
 
package/src/loadOsNode.ts CHANGED
@@ -14,8 +14,8 @@ const OS_NODE_PATH = "1'"
14
14
 
15
15
  const getDefaultOsNodeLocator = (): ModuleFactoryLocator => {
16
16
  const locator = new ModuleFactoryLocator()
17
- locator.register(IndexedDbArchivist, { 'network.xyo.archivist.persistence.scope': 'device' })
18
- locator.register(IndexedDbPayloadDiviner, { 'network.xyo.archivist.persistence.scope': 'device' })
17
+ locator.register(IndexedDbArchivist.factory(), { 'network.xyo.archivist.persistence.scope': 'device' })
18
+ locator.register(IndexedDbPayloadDiviner.factory(), { 'network.xyo.archivist.persistence.scope': 'device' })
19
19
  return locator
20
20
  }
21
21
 
package/src/stack/Base.ts CHANGED
@@ -134,7 +134,7 @@ export class StackBase extends BaseEmitter<BaseParams, StackBaseEvents> implemen
134
134
 
135
135
  private async getStackNode() {
136
136
  const mod = assertEx(await this.context.root.resolve(this.stackNodeModuleId), () => `${this.stackNodeModuleId} not found`)
137
- return asAttachableNodeInstance(mod, () => `${this.stackNodeModuleId} not a NodeInstance`)
137
+ return asAttachableNodeInstance(mod, () => `${this.stackNodeModuleId} not a NodeInstance`, { required: true })
138
138
  }
139
139
 
140
140
  private async handleDriverReady(node: AttachableNodeInstance) {