@xyo-network/bridge-pub-sub 2.94.11 → 2.94.12

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 (42) hide show
  1. package/dist/browser/AsyncQueryBus/AsyncQueryBusBase.d.cts +66 -6
  2. package/dist/browser/AsyncQueryBus/AsyncQueryBusBase.d.cts.map +1 -1
  3. package/dist/browser/AsyncQueryBus/AsyncQueryBusBase.d.mts +66 -6
  4. package/dist/browser/AsyncQueryBus/AsyncQueryBusBase.d.mts.map +1 -1
  5. package/dist/browser/AsyncQueryBus/AsyncQueryBusBase.d.ts +66 -6
  6. package/dist/browser/AsyncQueryBus/AsyncQueryBusBase.d.ts.map +1 -1
  7. package/dist/browser/AsyncQueryBus/AsyncQueryBusClient.d.cts.map +1 -1
  8. package/dist/browser/AsyncQueryBus/AsyncQueryBusClient.d.mts.map +1 -1
  9. package/dist/browser/AsyncQueryBus/AsyncQueryBusClient.d.ts.map +1 -1
  10. package/dist/browser/AsyncQueryBus/AsyncQueryBusHost.d.cts +1 -1
  11. package/dist/browser/AsyncQueryBus/AsyncQueryBusHost.d.cts.map +1 -1
  12. package/dist/browser/AsyncQueryBus/AsyncQueryBusHost.d.mts +1 -1
  13. package/dist/browser/AsyncQueryBus/AsyncQueryBusHost.d.mts.map +1 -1
  14. package/dist/browser/AsyncQueryBus/AsyncQueryBusHost.d.ts +1 -1
  15. package/dist/browser/AsyncQueryBus/AsyncQueryBusHost.d.ts.map +1 -1
  16. package/dist/browser/index.cjs +133 -91
  17. package/dist/browser/index.cjs.map +1 -1
  18. package/dist/browser/index.js +133 -91
  19. package/dist/browser/index.js.map +1 -1
  20. package/dist/node/AsyncQueryBus/AsyncQueryBusBase.d.cts +66 -6
  21. package/dist/node/AsyncQueryBus/AsyncQueryBusBase.d.cts.map +1 -1
  22. package/dist/node/AsyncQueryBus/AsyncQueryBusBase.d.mts +66 -6
  23. package/dist/node/AsyncQueryBus/AsyncQueryBusBase.d.mts.map +1 -1
  24. package/dist/node/AsyncQueryBus/AsyncQueryBusBase.d.ts +66 -6
  25. package/dist/node/AsyncQueryBus/AsyncQueryBusBase.d.ts.map +1 -1
  26. package/dist/node/AsyncQueryBus/AsyncQueryBusClient.d.cts.map +1 -1
  27. package/dist/node/AsyncQueryBus/AsyncQueryBusClient.d.mts.map +1 -1
  28. package/dist/node/AsyncQueryBus/AsyncQueryBusClient.d.ts.map +1 -1
  29. package/dist/node/AsyncQueryBus/AsyncQueryBusHost.d.cts +1 -1
  30. package/dist/node/AsyncQueryBus/AsyncQueryBusHost.d.cts.map +1 -1
  31. package/dist/node/AsyncQueryBus/AsyncQueryBusHost.d.mts +1 -1
  32. package/dist/node/AsyncQueryBus/AsyncQueryBusHost.d.mts.map +1 -1
  33. package/dist/node/AsyncQueryBus/AsyncQueryBusHost.d.ts +1 -1
  34. package/dist/node/AsyncQueryBus/AsyncQueryBusHost.d.ts.map +1 -1
  35. package/dist/node/index.cjs +139 -120
  36. package/dist/node/index.cjs.map +1 -1
  37. package/dist/node/index.js +139 -120
  38. package/dist/node/index.js.map +1 -1
  39. package/package.json +18 -17
  40. package/src/AsyncQueryBus/AsyncQueryBusBase.ts +69 -40
  41. package/src/AsyncQueryBus/AsyncQueryBusClient.ts +24 -26
  42. package/src/AsyncQueryBus/AsyncQueryBusHost.ts +20 -19
@@ -141,24 +141,25 @@ export class AsyncQueryBusHost<TParams extends AsyncQueryBusHostParams = AsyncQu
141
141
  * @param address The address to find commands for
142
142
  */
143
143
  protected findQueriesToAddress = async (address: Address) => {
144
- const queryBoundWitnessDiviner = assertEx(
145
- await this.queriesDiviner(),
146
- () => `Unable to resolve queriesDiviner [${this.config?.intersect?.queries?.boundWitnessDiviner}]`,
147
- )
148
- // Retrieve last offset from state store
149
- const timestamp = await this.retrieveState(address)
150
- const destination = [address]
151
- const limit = this.perAddressBatchQueryLimit
152
- // Filter for commands to us by destination address
153
- const divinerQuery = { destination, limit, schema: BoundWitnessDivinerQuerySchema, sort: 'asc', timestamp }
154
- const result = await queryBoundWitnessDiviner.divine([divinerQuery])
155
- const queries = result.filter(isQueryBoundWitnessWithMeta)
156
- const nextState = queries.length > 0 ? Math.max(...queries.map((c) => c.timestamp ?? 0)) + 1 : timestamp
157
- // TODO: This needs to be thought through as we can't use a distributed timestamp
158
- // because of collisions. We need to use the timestamp of the store so there's no
159
- // chance of multiple commands at the same time
160
- await this.commitState(address, nextState)
161
- return queries
144
+ const queryBoundWitnessDiviner = await this.queriesDiviner()
145
+ if (queryBoundWitnessDiviner) {
146
+ // Retrieve last offset from state store
147
+ const timestamp = await this.retrieveState(address)
148
+ const destination = [address]
149
+ const limit = this.perAddressBatchQueryLimit
150
+ // Filter for commands to us by destination address
151
+ const divinerQuery = { destination, limit, schema: BoundWitnessDivinerQuerySchema, sort: 'asc', timestamp }
152
+ const result = await queryBoundWitnessDiviner.divine([divinerQuery])
153
+ const queries = result.filter(isQueryBoundWitnessWithMeta)
154
+ const nextState = queries.length > 0 ? Math.max(...queries.map((c) => c.timestamp ?? 0)) + 1 : timestamp
155
+ // TODO: This needs to be thought through as we can't use a distributed timestamp
156
+ // because of collisions. We need to use the timestamp of the store so there's no
157
+ // chance of multiple commands at the same time
158
+ await this.commitState(address, nextState)
159
+ return queries
160
+ } else {
161
+ this.logger?.warn(`Unable to resolve queryBoundWitnessDiviner [${this.config?.intersect?.queries?.boundWitnessDiviner}]`)
162
+ }
162
163
  }
163
164
 
164
165
  /**
@@ -193,7 +194,7 @@ export class AsyncQueryBusHost<TParams extends AsyncQueryBusHostParams = AsyncQu
193
194
  try {
194
195
  const localModuleName = localModule.config.name ?? localModule.address
195
196
  this.logger?.debug(`Checking for inbound queries to ${localModuleName} [${localModule.address}]`)
196
- const queries = await this.findQueriesToAddress(localModule.address)
197
+ const queries = (await this.findQueriesToAddress(localModule.address)) ?? []
197
198
  if (queries.length === 0) return
198
199
  this.logger?.debug(`Found queries addressed to local module: ${localModuleName}`)
199
200
  for (const query of queries) {