@ddd-qc/lit-happ 0.32.14 → 0.33.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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DnaViewModel.d.ts","sourceRoot":"","sources":["../src/DnaViewModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,eAAe,EAAC,MAAM,KAAK,CAAC;AACpC,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EACL,cAAc,EACd,cAAc,EACd,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAC,mBAAmB,EAAE,MAAM,EAAC,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAC,OAAO,EAAgB,MAAM,cAAc,CAAC;AACpD,OAAO,EACL,SAAS,EACT,QAAQ,EACR,GAAG,EACH,YAAY,EAAa,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAC9D,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAY,YAAY,EAAC,MAAM,aAAa,CAAC;AAMpD,UAAU,aAAa;IACrB,YAAY,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACxC,cAAc,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;CAM3C;AAED,MAAM,MAAM,cAAc,GAAG,OAAO,YAAY,GAAG;IAAC,aAAa,EAAE,mBAAmB,CAAA;CAAC,GAAG;IACxF,KAAI,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,GAAG,cAAc,EAAE,UAAU,EAAE,OAAO,GAAG,YAAY,CAAC;CAC/G,CAAC;;;;;;;;;AASF,8BAAsB,YAAa,SAAQ,iBAAgC,YAAW,aAAa;aAwBrE,IAAI,EAAE,eAAe;IAtBnC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACxC,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC;IAG1C,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC;IAEhC,SAAS,CAAC,eAAe,EAAE,YAAY,CAAC,aAAa,CAAC,CAAM;IAE5D,SAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAM;IAEtC,OAAO,CAAC,aAAa,CAA4C;IAEjE,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,QAAQ,CAAkC;IAGlD,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE,CAAM;IAErC,SAAgB,GAAG,EAAE,GAAG,CAAC;gBAIG,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,GAAG,cAAc,EAAE,UAAU,EAAE,OAAO;IAkCzH,IAAI,YAAY,IAAI,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAA8B;IAEtF,IAAI,WAAW,IAAI,YAAY,CAAC,QAAQ,CAAC,CAA6B;IAEtE,IAAI,OAAO,IAAI,OAAO,CAA0B;IAEhD,IAAI,SAAS,IAAI,OAAO,EAAE,CAA2B;IAErD,IAAI,SAAS,IAAI,QAAQ,EAAE,CAAyC;IAEpE,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;IAQ5D,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,aAAa;IAoB9B,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;IAShE,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC;IAIjC,kBAAkB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;cAwB7C,aAAa,IAAI,IAAI;IASxC,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAItB,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC;IAY7C,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC;YAW7C,eAAe;
|
|
1
|
+
{"version":3,"file":"DnaViewModel.d.ts","sourceRoot":"","sources":["../src/DnaViewModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,eAAe,EAAC,MAAM,KAAK,CAAC;AACpC,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EACL,cAAc,EACd,cAAc,EACd,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAC,mBAAmB,EAAE,MAAM,EAAC,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAC,OAAO,EAAgB,MAAM,cAAc,CAAC;AACpD,OAAO,EACL,SAAS,EACT,QAAQ,EACR,GAAG,EACH,YAAY,EAAa,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAC9D,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAY,YAAY,EAAC,MAAM,aAAa,CAAC;AAMpD,UAAU,aAAa;IACrB,YAAY,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACxC,cAAc,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;CAM3C;AAED,MAAM,MAAM,cAAc,GAAG,OAAO,YAAY,GAAG;IAAC,aAAa,EAAE,mBAAmB,CAAA;CAAC,GAAG;IACxF,KAAI,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,GAAG,cAAc,EAAE,UAAU,EAAE,OAAO,GAAG,YAAY,CAAC;CAC/G,CAAC;;;;;;;;;AASF,8BAAsB,YAAa,SAAQ,iBAAgC,YAAW,aAAa;aAwBrE,IAAI,EAAE,eAAe;IAtBnC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACxC,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC;IAG1C,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC;IAEhC,SAAS,CAAC,eAAe,EAAE,YAAY,CAAC,aAAa,CAAC,CAAM;IAE5D,SAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAM;IAEtC,OAAO,CAAC,aAAa,CAA4C;IAEjE,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,QAAQ,CAAkC;IAGlD,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE,CAAM;IAErC,SAAgB,GAAG,EAAE,GAAG,CAAC;gBAIG,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,GAAG,cAAc,EAAE,UAAU,EAAE,OAAO;IAkCzH,IAAI,YAAY,IAAI,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAA8B;IAEtF,IAAI,WAAW,IAAI,YAAY,CAAC,QAAQ,CAAC,CAA6B;IAEtE,IAAI,OAAO,IAAI,OAAO,CAA0B;IAEhD,IAAI,SAAS,IAAI,OAAO,EAAE,CAA2B;IAErD,IAAI,SAAS,IAAI,QAAQ,EAAE,CAAyC;IAEpE,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;IAQ5D,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,aAAa;IAoB9B,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;IAShE,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC;IAIjC,kBAAkB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;cAwB7C,aAAa,IAAI,IAAI;IASxC,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAItB,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC;IAY7C,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC;YAW7C,eAAe;IA2B7B,YAAY,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI;IAMvC,cAAc,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI;IAkBzC,SAAS;CAGV"}
|
package/dist/DnaViewModel.js
CHANGED
|
@@ -106,10 +106,14 @@ export class DnaViewModel extends CellMixin(RoleMixin(ViewModel)) {
|
|
|
106
106
|
await Promise.all(all);
|
|
107
107
|
}
|
|
108
108
|
async queryAllDnaData() {
|
|
109
|
+
const dnaInfo = await this._cellProxy.callDnaInfo(this.zomeNames[0]);
|
|
110
|
+
this._dnaInfo = dnaInfo;
|
|
109
111
|
for (const zomeName of this.zomeNames) {
|
|
112
|
+
this._allZomeInfo[zomeName] = await this._cellProxy.callZomeInfo(zomeName);
|
|
113
|
+
}
|
|
114
|
+
for (const zomeName of Object.keys(this._allZomeInfo)) {
|
|
110
115
|
try {
|
|
111
|
-
|
|
112
|
-
this._allEntryDefs[zomeName] = defs;
|
|
116
|
+
this._allEntryDefs[zomeName] = await this._cellProxy.callEntryDefs(zomeName);
|
|
113
117
|
}
|
|
114
118
|
catch (e) {
|
|
115
119
|
if (e.throttled) {
|
|
@@ -118,12 +122,6 @@ export class DnaViewModel extends CellMixin(RoleMixin(ViewModel)) {
|
|
|
118
122
|
return Promise.reject(e);
|
|
119
123
|
}
|
|
120
124
|
}
|
|
121
|
-
for (const zomeName of this.zomeNames) {
|
|
122
|
-
const info = await this._cellProxy.callZomeInfo(zomeName);
|
|
123
|
-
this._allZomeInfo[zomeName] = info;
|
|
124
|
-
}
|
|
125
|
-
const info = await this._cellProxy.callDnaInfo(this.zomeNames[0]);
|
|
126
|
-
this._dnaInfo = info;
|
|
127
125
|
}
|
|
128
126
|
dumpCallLogs(zomeName) {
|
|
129
127
|
this._cellProxy.dumpCallLogs(zomeName);
|
package/dist/DnaViewModel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DnaViewModel.js","sourceRoot":"","sources":["../src/DnaViewModel.ts"],"names":[],"mappings":"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","sourcesContent":["import {ZomeViewModel} from \"./ZomeViewModel\";\nimport {ReactiveElement} from \"lit\";\nimport {ViewModel} from \"./ViewModel\";\nimport {\n AdminWebsocket, FunctionName,\n InstalledAppId,\n ZomeName,\n} from \"@holochain/client\";\nimport {DnaModifiersOptions, ZvmDef} from \"./definitions\";\nimport {Context, createContext} from \"@lit/context\";\nimport {\n CellProxy,\n AppProxy,\n HCL,\n MyDictionary, CellMixin, AgentId, EntryDef, ZomeInfo, DnaInfo\n} from \"@ddd-qc/cell-proxy\";\nimport {RoleMixin, RoleSpecific} from \"./roleMixin\";\n\n\n//export type IDnaViewModel = _DnaViewModel & ICellDef & typeof RoleSpecific;\n\n/** Interface specific to DnaViewModel class */\ninterface IDnaViewModel {\n dumpCallLogs(zomeName?: ZomeName): void;\n dumpSignalLogs(zomeName?: ZomeName): void;\n /** zomeName -> (AppEntryName, isPublic)[] */\n //fetchAllEntryDefs(): Promise<void>;\n //get entryTypes(): Dictionary<[string, boolean][]>;\n //getZomeEntryDefs(zomeName: ZomeName): [string, boolean][] | undefined;\n //getZomeViewModel(zomeName: ZomeName): ZomeViewModel | undefined\n}\n\nexport type DvmConstructor = typeof RoleSpecific & {DNA_MODIFIERS: DnaModifiersOptions} & {\n new(host: ReactiveElement, proxy: AppProxy, idOrHcl: HCL | InstalledAppId, isMainView: boolean): DnaViewModel;\n};\n\n\n/**\n * Abstract ViewModel for a DNA.\n * It holds the CellProxy and all the ZomeViewModels of the DNA.\n * It is expected to derive this class for each DNA and add extra logic at the DNA level.\n * TODO: Split into RoleViewModel and CellViewModel (e.g. have call logs separated by role)\n */\nexport abstract class DnaViewModel extends CellMixin(RoleMixin(ViewModel)) implements IDnaViewModel {\n /** -- Static -- */\n /* private */ static ZVM_DEFS: ZvmDef[];\n static DNA_MODIFIERS: DnaModifiersOptions;\n\n /** -- Fields -- */\n protected _cellProxy: CellProxy;\n /* ZomeName -> Zvm */\n protected _zomeViewModels: MyDictionary<ZomeViewModel> = {};\n /* ZvmCtorName -> ZomeName */\n protected _zomeNames: ZomeName[] = [];\n /* ZomeName -> (EntryName -> EntryDef) */\n private _allEntryDefs: MyDictionary<MyDictionary<EntryDef>> = {};\n /* ZomeName -> ZomeInfo */\n private _allZomeInfo: MyDictionary<ZomeInfo> = {};\n private _dnaInfo: DnaInfo | undefined = undefined;\n\n /** list of \"known\" peers in this DNA */\n protected _livePeers: AgentId[] = [];\n\n public readonly hcl: HCL;\n\n\n /** Ctor */\n constructor(public readonly host: ReactiveElement, appProxy: AppProxy, idOrHcl: HCL | InstalledAppId, isMainView: boolean) {\n super(isMainView);\n if (typeof idOrHcl === 'object') {\n this.baseRoleName = idOrHcl.baseRoleName;\n this.hcl = idOrHcl;\n } else {\n this.hcl = new HCL(idOrHcl, this.baseRoleName);\n }\n const dvmCtor = (this.constructor as typeof DnaViewModel)\n const zvmDefs = dvmCtor.ZVM_DEFS;\n if (zvmDefs.length == 0) {\n throw Error(`DNA ${this.baseRoleName} does not have any zomes`);\n }\n this._cellProxy = appProxy.getCellProxy(this.hcl); // WARN can throw error\n this._cell = this._cellProxy.cell;\n console.log(`DVM.ctor of ${this.baseRoleName}`, this._cellProxy.cell);\n /** Create all ZVMs for this DNA */\n for (const zvmDef of zvmDefs) {\n let zvm: ZomeViewModel;\n if (Array.isArray(zvmDef)) {\n zvm = new zvmDef[0](this._cellProxy, this, isMainView, zvmDef[1]);\n } else {\n zvm = new zvmDef(this._cellProxy, this, isMainView);\n }\n // TODO check zvm.zomeName exists in _cellProxy\n this._zomeViewModels[zvm.zomeName] = zvm;\n this._zomeNames.push(zvm.zomeName);\n }\n this.provideContext(host); // TODO move this to host.connectedCallback? e.g. change ViewModel to a ReactiveController\n }\n\n\n /** -- Getters -- */\n\n get allEntryDefs(): MyDictionary<MyDictionary<EntryDef>> { return this._allEntryDefs }\n\n get allZomeInfo(): MyDictionary<ZomeInfo> { return this._allZomeInfo }\n\n get dnaInfo(): DnaInfo { return this._dnaInfo! }\n\n get livePeers(): AgentId[] { return this._livePeers };\n\n get zomeNames(): ZomeName[] {return Object.values(this._zomeNames);}\n\n getZomeEntryDefs(zomeName: ZomeName): MyDictionary<EntryDef> {\n const maybe = this._allEntryDefs[zomeName];\n if (!maybe) {\n throw Error(\"Unknown zome in DVM: \" + zomeName + \". Available zomes: \" + this.zomeNames.join(', '));\n }\n return maybe;\n }\n\n getZomeViewModel(zomeName: ZomeName): ZomeViewModel {\n const maybe = this._zomeViewModels[zomeName];\n if (!maybe) {\n throw Error(\"Unknown zome in DVM: \" + zomeName + \". Available zomes: \" + this.zomeNames.join(', '));\n }\n return maybe;\n }\n\n // getZomeName(zvm: typeof ZomeViewModel): ZomeName {\n // console.log(\"getZomeName()\", zvm.constructor.name);\n // const maybe = this._zomeViewModels[zvm.constructor.name];\n // if (!maybe) {\n // throw Error(\"Unknown zome in DVM: \" + zvm.DEFAULT_ZOME_NAME + \". Available zomes: \" + this.zomeNames.join(', '));\n // }\n // return maybe;\n // }\n\n /** -- Methods -- */\n\n /** Override so we can provide context of all zvms */\n /*private*/ override provideContext(host: ReactiveElement): void {\n //console.log(\"DVM.provideContext()\", host, this)\n super.provideContext(host);\n for (const zvm of Object.values(this._zomeViewModels)) {\n zvm.provideContext(host)\n }\n }\n\n\n getContext(): Context<unknown, unknown> {return createContext<typeof this>('dvm/' + this.cell.name + \"/\" + this.cell.address.dnaId.b64)};\n\n\n /** */\n async authorizeZomeCalls(adminWs: AdminWebsocket): Promise<void> {\n let allFnNames: [ZomeName, FunctionName][] = [];\n for (const [_zomeName, zvm] of Object.entries(this._zomeViewModels)) {\n allFnNames = allFnNames.concat(zvm.zomeProxy.fnNames)\n }\n //const grantedFns = { [GrantedFunctionsType.Listed]: allFnNames }\n try {\n console.log(\"authorizeSigningCredentials: \" + this.cell.hcl().toString(), allFnNames);\n console.log(\"authorizeSigningCredentials. cell_id = \" + this.cell.address.str);\n //await adminWs.authorizeSigningCredentials(this.cell.id, grantedFns);\n await adminWs.authorizeSigningCredentials(this.cell.address.intoId());\n } catch(e) {\n console.warn(\"authorizeSigningCredentials FAILED.\", e);\n }\n // this._signingProps = getSigningCredentials(this.cellId);\n // console.log({signProps: this._signingProps})\n //\n // for (const [zomeName, zvm] of Object.entries(this._zomeViewModels)) {\n // zvm.zomeProxy.setSigningProps(this._signingProps);\n // }\n }\n\n\n /** Not async on purpose as we except this to be long. Post-processing should be done via Observer pattern */\n protected override probeAllInner(): void {\n for (const [_name, zvm] of Object.entries(this._zomeViewModels)) {\n //console.log(\"Dvm.probeAll()\", name)\n zvm.probeAll();\n }\n }\n\n\n /** */\n zvmChanged(_zvm: ZomeViewModel): void {}\n\n\n /** */\n override async initializePerspectiveOffline(): Promise<void> {\n await this.queryAllDnaData();\n const all = [];\n for (const [_name, zvm] of Object.entries(this._zomeViewModels)) {\n const p = zvm.initializePerspectiveOffline();\n all.push(p);\n }\n await Promise.all(all);\n }\n\n\n /** */\n override async initializePerspectiveOnline(): Promise<void> {\n const all = [];\n for (const [_name, zvm] of Object.entries(this._zomeViewModels)) {\n const p = zvm.initializePerspectiveOnline();\n all.push(p);\n }\n await Promise.all(all);\n }\n\n\n /** */\n private async queryAllDnaData(): Promise<void> {\n /** EntryDefs */\n for (const zomeName of this.zomeNames) {\n try {\n const defs = await this._cellProxy.callEntryDefs(zomeName);\n this._allEntryDefs[zomeName] = defs;\n } catch(e: any) {\n if (e.throttled) {\n continue;\n }\n return Promise.reject(e);\n }\n }\n /** ZomeInfo */\n for (const zomeName of this.zomeNames) {\n const info = await this._cellProxy.callZomeInfo(zomeName);\n this._allZomeInfo[zomeName] = info;\n }\n /** DnaInfo */\n const info = await this._cellProxy.callDnaInfo(this.zomeNames[0]!);\n this._dnaInfo = info;\n }\n\n\n /** */\n dumpCallLogs(zomeName?: ZomeName): void {\n this._cellProxy.dumpCallLogs(zomeName);\n }\n\n\n /** */\n dumpSignalLogs(zomeName?: ZomeName): void {\n console.warn(\"Dumping signals in DVM\", this.baseRoleName);\n if (zomeName == undefined) {\n for (const [name, zvm] of Object.entries(this._zomeViewModels)) {\n const logs = this._cellProxy.signalLogs.filter((log) => log.zomeName == name)\n zvm.dumpSignalLogs(logs);\n }\n return;\n }\n if (this._zomeViewModels[zomeName]) {\n const logs = this._cellProxy.signalLogs.filter((log) => log.zomeName == zomeName)\n this._zomeViewModels[zomeName]!.dumpSignalLogs(logs);\n } else {\n console.error(`Unknown zome ${zomeName} in DVM ${this.baseRoleName}`)\n }\n }\n\n /** */\n purgeLogs() {\n this._cellProxy.purgeLogs();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"DnaViewModel.js","sourceRoot":"","sources":["../src/DnaViewModel.ts"],"names":[],"mappings":"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","sourcesContent":["import {ZomeViewModel} from \"./ZomeViewModel\";\nimport {ReactiveElement} from \"lit\";\nimport {ViewModel} from \"./ViewModel\";\nimport {\n AdminWebsocket, FunctionName,\n InstalledAppId,\n ZomeName,\n} from \"@holochain/client\";\nimport {DnaModifiersOptions, ZvmDef} from \"./definitions\";\nimport {Context, createContext} from \"@lit/context\";\nimport {\n CellProxy,\n AppProxy,\n HCL,\n MyDictionary, CellMixin, AgentId, EntryDef, ZomeInfo, DnaInfo\n} from \"@ddd-qc/cell-proxy\";\nimport {RoleMixin, RoleSpecific} from \"./roleMixin\";\n\n\n//export type IDnaViewModel = _DnaViewModel & ICellDef & typeof RoleSpecific;\n\n/** Interface specific to DnaViewModel class */\ninterface IDnaViewModel {\n dumpCallLogs(zomeName?: ZomeName): void;\n dumpSignalLogs(zomeName?: ZomeName): void;\n /** zomeName -> (AppEntryName, isPublic)[] */\n //fetchAllEntryDefs(): Promise<void>;\n //get entryTypes(): Dictionary<[string, boolean][]>;\n //getZomeEntryDefs(zomeName: ZomeName): [string, boolean][] | undefined;\n //getZomeViewModel(zomeName: ZomeName): ZomeViewModel | undefined\n}\n\nexport type DvmConstructor = typeof RoleSpecific & {DNA_MODIFIERS: DnaModifiersOptions} & {\n new(host: ReactiveElement, proxy: AppProxy, idOrHcl: HCL | InstalledAppId, isMainView: boolean): DnaViewModel;\n};\n\n\n/**\n * Abstract ViewModel for a DNA.\n * It holds the CellProxy and all the ZomeViewModels of the DNA.\n * It is expected to derive this class for each DNA and add extra logic at the DNA level.\n * TODO: Split into RoleViewModel and CellViewModel (e.g. have call logs separated by role)\n */\nexport abstract class DnaViewModel extends CellMixin(RoleMixin(ViewModel)) implements IDnaViewModel {\n /** -- Static -- */\n /* private */ static ZVM_DEFS: ZvmDef[];\n static DNA_MODIFIERS: DnaModifiersOptions;\n\n /** -- Fields -- */\n protected _cellProxy: CellProxy;\n /* ZomeName -> Zvm */\n protected _zomeViewModels: MyDictionary<ZomeViewModel> = {};\n /* ZvmCtorName -> ZomeName */\n protected _zomeNames: ZomeName[] = [];\n /* ZomeName -> (EntryName -> EntryDef) */\n private _allEntryDefs: MyDictionary<MyDictionary<EntryDef>> = {};\n /* ZomeName -> ZomeInfo */\n private _allZomeInfo: MyDictionary<ZomeInfo> = {};\n private _dnaInfo: DnaInfo | undefined = undefined;\n\n /** list of \"known\" peers in this DNA */\n protected _livePeers: AgentId[] = [];\n\n public readonly hcl: HCL;\n\n\n /** Ctor */\n constructor(public readonly host: ReactiveElement, appProxy: AppProxy, idOrHcl: HCL | InstalledAppId, isMainView: boolean) {\n super(isMainView);\n if (typeof idOrHcl === 'object') {\n this.baseRoleName = idOrHcl.baseRoleName;\n this.hcl = idOrHcl;\n } else {\n this.hcl = new HCL(idOrHcl, this.baseRoleName);\n }\n const dvmCtor = (this.constructor as typeof DnaViewModel)\n const zvmDefs = dvmCtor.ZVM_DEFS;\n if (zvmDefs.length == 0) {\n throw Error(`DNA ${this.baseRoleName} does not have any zomes`);\n }\n this._cellProxy = appProxy.getCellProxy(this.hcl); // WARN can throw error\n this._cell = this._cellProxy.cell;\n console.log(`DVM.ctor of ${this.baseRoleName}`, this._cellProxy.cell);\n /** Create all ZVMs for this DNA */\n for (const zvmDef of zvmDefs) {\n let zvm: ZomeViewModel;\n if (Array.isArray(zvmDef)) {\n zvm = new zvmDef[0](this._cellProxy, this, isMainView, zvmDef[1]);\n } else {\n zvm = new zvmDef(this._cellProxy, this, isMainView);\n }\n // TODO check zvm.zomeName exists in _cellProxy\n this._zomeViewModels[zvm.zomeName] = zvm;\n this._zomeNames.push(zvm.zomeName);\n }\n this.provideContext(host); // TODO move this to host.connectedCallback? e.g. change ViewModel to a ReactiveController\n }\n\n\n /** -- Getters -- */\n\n get allEntryDefs(): MyDictionary<MyDictionary<EntryDef>> { return this._allEntryDefs }\n\n get allZomeInfo(): MyDictionary<ZomeInfo> { return this._allZomeInfo }\n\n get dnaInfo(): DnaInfo { return this._dnaInfo! }\n\n get livePeers(): AgentId[] { return this._livePeers };\n\n get zomeNames(): ZomeName[] {return Object.values(this._zomeNames);}\n\n getZomeEntryDefs(zomeName: ZomeName): MyDictionary<EntryDef> {\n const maybe = this._allEntryDefs[zomeName];\n if (!maybe) {\n throw Error(\"Unknown zome in DVM: \" + zomeName + \". Available zomes: \" + this.zomeNames.join(', '));\n }\n return maybe;\n }\n\n getZomeViewModel(zomeName: ZomeName): ZomeViewModel {\n const maybe = this._zomeViewModels[zomeName];\n if (!maybe) {\n throw Error(\"Unknown zome in DVM: \" + zomeName + \". Available zomes: \" + this.zomeNames.join(', '));\n }\n return maybe;\n }\n\n // getZomeName(zvm: typeof ZomeViewModel): ZomeName {\n // console.log(\"getZomeName()\", zvm.constructor.name);\n // const maybe = this._zomeViewModels[zvm.constructor.name];\n // if (!maybe) {\n // throw Error(\"Unknown zome in DVM: \" + zvm.DEFAULT_ZOME_NAME + \". Available zomes: \" + this.zomeNames.join(', '));\n // }\n // return maybe;\n // }\n\n /** -- Methods -- */\n\n /** Override so we can provide context of all zvms */\n /*private*/ override provideContext(host: ReactiveElement): void {\n //console.log(\"DVM.provideContext()\", host, this)\n super.provideContext(host);\n for (const zvm of Object.values(this._zomeViewModels)) {\n zvm.provideContext(host)\n }\n }\n\n\n getContext(): Context<unknown, unknown> {return createContext<typeof this>('dvm/' + this.cell.name + \"/\" + this.cell.address.dnaId.b64)};\n\n\n /** */\n async authorizeZomeCalls(adminWs: AdminWebsocket): Promise<void> {\n let allFnNames: [ZomeName, FunctionName][] = [];\n for (const [_zomeName, zvm] of Object.entries(this._zomeViewModels)) {\n allFnNames = allFnNames.concat(zvm.zomeProxy.fnNames)\n }\n //const grantedFns = { [GrantedFunctionsType.Listed]: allFnNames }\n try {\n console.log(\"authorizeSigningCredentials: \" + this.cell.hcl().toString(), allFnNames);\n console.log(\"authorizeSigningCredentials. cell_id = \" + this.cell.address.str);\n //await adminWs.authorizeSigningCredentials(this.cell.id, grantedFns);\n await adminWs.authorizeSigningCredentials(this.cell.address.intoId());\n } catch(e) {\n console.warn(\"authorizeSigningCredentials FAILED.\", e);\n }\n // this._signingProps = getSigningCredentials(this.cellId);\n // console.log({signProps: this._signingProps})\n //\n // for (const [zomeName, zvm] of Object.entries(this._zomeViewModels)) {\n // zvm.zomeProxy.setSigningProps(this._signingProps);\n // }\n }\n\n\n /** Not async on purpose as we except this to be long. Post-processing should be done via Observer pattern */\n protected override probeAllInner(): void {\n for (const [_name, zvm] of Object.entries(this._zomeViewModels)) {\n //console.log(\"Dvm.probeAll()\", name)\n zvm.probeAll();\n }\n }\n\n\n /** */\n zvmChanged(_zvm: ZomeViewModel): void {}\n\n\n /** */\n override async initializePerspectiveOffline(): Promise<void> {\n await this.queryAllDnaData();\n const all = [];\n for (const [_name, zvm] of Object.entries(this._zomeViewModels)) {\n const p = zvm.initializePerspectiveOffline();\n all.push(p);\n }\n await Promise.all(all);\n }\n\n\n /** */\n override async initializePerspectiveOnline(): Promise<void> {\n const all = [];\n for (const [_name, zvm] of Object.entries(this._zomeViewModels)) {\n const p = zvm.initializePerspectiveOnline();\n all.push(p);\n }\n await Promise.all(all);\n }\n\n\n /** */\n private async queryAllDnaData(): Promise<void> {\n /** DnaInfo */\n const dnaInfo = await this._cellProxy.callDnaInfo(this.zomeNames[0]!);\n this._dnaInfo = dnaInfo;\n // /** ZomeInfo from dnaInfo */\n // for (const zomeName of dnaInfo.zome_names) {\n // this._allZomeInfo[zomeName] = await this._cellProxy.callZomeInfo(zomeName);\n // }\n /** ZomeInfo from known Zomes */\n for (const zomeName of this.zomeNames) {\n this._allZomeInfo[zomeName] = await this._cellProxy.callZomeInfo(zomeName);\n }\n /** EntryDefs */\n for (const zomeName of Object.keys(this._allZomeInfo)) {\n try {\n this._allEntryDefs[zomeName] = await this._cellProxy.callEntryDefs(zomeName);\n } catch(e: any) {\n if (e.throttled) {\n continue;\n }\n return Promise.reject(e);\n }\n }\n }\n\n\n /** */\n dumpCallLogs(zomeName?: ZomeName): void {\n this._cellProxy.dumpCallLogs(zomeName);\n }\n\n\n /** */\n dumpSignalLogs(zomeName?: ZomeName): void {\n console.warn(\"Dumping signals in DVM\", this.baseRoleName);\n if (zomeName == undefined) {\n for (const [name, zvm] of Object.entries(this._zomeViewModels)) {\n const logs = this._cellProxy.signalLogs.filter((log) => log.zomeName == name)\n zvm.dumpSignalLogs(logs);\n }\n return;\n }\n if (this._zomeViewModels[zomeName]) {\n const logs = this._cellProxy.signalLogs.filter((log) => log.zomeName == zomeName)\n this._zomeViewModels[zomeName]!.dumpSignalLogs(logs);\n } else {\n console.error(`Unknown zome ${zomeName} in DVM ${this.baseRoleName}`)\n }\n }\n\n /** */\n purgeLogs() {\n this._cellProxy.purgeLogs();\n }\n}\n"]}
|
package/dist/HappMultiElement.js
CHANGED
|
@@ -76,7 +76,7 @@ export class HappMultiElement extends LitElement {
|
|
|
76
76
|
const allNetInfos = {};
|
|
77
77
|
for (const [agent, dnaIds] of dnaPerAgentMap.entries()) {
|
|
78
78
|
for (const dna of dnaIds) {
|
|
79
|
-
const response = await appProxy.dumpNetworkMetrics({
|
|
79
|
+
const response = await appProxy.dumpNetworkMetrics({ dna_hash: dna.hash, include_dht_summary: true });
|
|
80
80
|
if (!response || !response[dna.b64]) {
|
|
81
81
|
throw Promise.reject("No network metrics response for dna");
|
|
82
82
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HappMultiElement.js","sourceRoot":"","sources":["../src/HappMultiElement.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"HappMultiElement.js","sourceRoot":"","sources":["../src/HappMultiElement.ts"],"names":[],"mappings":"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","sourcesContent":["import {LitElement} from \"lit\";\nimport { state } from \"lit/decorators.js\";\nimport {\n AppProxy,\n ConductorAppProxy,\n flattenCells,\n CellIdStr, AgentIdMap, DnaId, CellAddress,\n} from \"@ddd-qc/cell-proxy\";\nimport {HappViewModel} from \"./HappViewModel\";\nimport {/*CellDef,*/ HvmDef} from \"./definitions\";\nimport {\n AppWebsocket,\n InstalledAppId, NetworkMetrics,\n Timestamp\n} from \"@holochain/client\";\n// @ts-ignore\nimport * as net from \"net\";\nimport {NetworkCaller} from \"./NetworkCaller\";\n\n\n/**\n *\n */\nexport class HappMultiElement extends LitElement {\n\n /** Must be defined by subclass */\n static HVM_DEF: HvmDef;\n\n /** Set during init triggered at ctor */\n @state() hvms: [AppProxy, HappViewModel][] = []\n\n /** Continually calls networkInfo for a specific cell with appProxy */\n networkCaller?: NetworkCaller;\n\n get count(): number {return this.hvms.length}\n\n /** Ctor */\n protected constructor(\n appInfo: [number | AppWebsocket, InstalledAppId | undefined][],\n public readonly isMainView: boolean,\n adminUrl?: URL,\n defaultTimeout?: number,\n ) {\n super();\n /* await */ this.constructHvms(appInfo, adminUrl, defaultTimeout);\n }\n\n /** */\n async hvmsConstructed(): Promise<void> {}\n /** */\n async perspectiveInitializedOffline(): Promise<void> {}\n /** */\n async perspectiveInitializedOnline(): Promise<void> {}\n\n /** */\n override shouldUpdate() {\n return this.hvms.length > 0;\n }\n\n /** */\n protected async constructHvms(appInfo: [number | AppWebsocket, InstalledAppId | undefined][], adminUrl?: URL, defaultTimeout?: number): Promise<void> {\n const hvmDef = (this.constructor as typeof HappMultiElement).HVM_DEF;\n if (!hvmDef) {\n throw Error(\"HVM_DEF static field undefined in HappMultiElement subclass \" + this.constructor.name);\n }\n for (const [port_or_socket, appId] of appInfo) {\n const appProxy = await ConductorAppProxy.new(port_or_socket, hvmDef.id, adminUrl, defaultTimeout);\n if (appId) {\n /** Override appId */\n hvmDef.id = appId;\n }\n const hvm = await HappViewModel.new(this, appProxy, hvmDef, this.isMainView);\n await hvm.authorizeAllZomeCalls(appProxy.adminWs);\n this.hvms.push([appProxy, hvm]);\n }\n this.networkCaller = new NetworkCaller(this.hvms[0]![0]); // use first appProxy\n await this.hvmsConstructed();\n await this.initializePerspective();\n }\n\n\n /** */\n async initializePerspective(): Promise<void> {\n for (const [_proxy, hvm] of this.hvms) {\n await hvm.initializePerspectiveOffline();\n }\n await this.perspectiveInitializedOffline();\n\n // TODO move this to a later stage\n for (const [_proxy, hvm] of this.hvms) {\n await hvm.initializePerspectiveOnline();\n }\n await this.perspectiveInitializedOnline();\n }\n\n\n /** */\n async networkInfoAll(baseRoleName?: string): Promise<Record<CellIdStr, [Timestamp, NetworkMetrics]>> {\n //console.debug(`networkInfoAll() \"${baseRoleName}\"`);\n /** Grab cellMap */\n const hvmDef = (this.constructor as typeof HappMultiElement).HVM_DEF;\n const appProxy = this.hvms[0]![0];\n const cellMap = appProxy.getAppCells(hvmDef.id);\n if (!cellMap) {\n return Promise.reject(\"No cells found at given appId: \" + hvmDef.id);\n }\n /** Get cell Ids */\n let cellAddrs: CellAddress[] = [];\n if (baseRoleName) {\n const cfr = cellMap[baseRoleName];\n if (!cfr) {\n return Promise.reject(\"No cells found at given baseRoleName: \" + baseRoleName);\n }\n cellAddrs = flattenCells(cfr);\n } else {\n for (const cells of Object.values(cellMap)) {\n cellAddrs = cellAddrs.concat(flattenCells(cells))\n }\n }\n //console.debug(`networkInfoAll() cellIds`, cellAddrs.map(cellId => cellId.str));\n /* Sort by agent key */\n let dnaPerAgentMap: AgentIdMap<DnaId[]> = new AgentIdMap();\n for (const cellAddr of cellAddrs) {\n if (!dnaPerAgentMap.get(cellAddr.agentId)) {\n dnaPerAgentMap.set(cellAddr.agentId, []);\n }\n dnaPerAgentMap.get(cellAddr.agentId)!.push(cellAddr.dnaId);\n }\n //console.debug(`networkInfoAll() dnaMap`, dnaPerAgentMap);\n /** Call NetworkInfo per AgentId */\n const allNetInfos: Record<CellIdStr, [Timestamp, NetworkMetrics]> = {};\n for (const [agent, dnaIds] of dnaPerAgentMap.entries()) {\n for (const dna of dnaIds) {\n const response = await appProxy.dumpNetworkMetrics({dna_hash: dna.hash, include_dht_summary: true});\n if (!response || !response[dna.b64]) {\n throw Promise.reject(\"No network metrics response for dna\");\n }\n const idStr = new CellAddress(dna, agent).str;\n allNetInfos[idStr] = [Date.now(), response[dna.b64]!];\n }\n }\n /* Done */\n return allNetInfos;\n }\n\n}\n"]}
|
package/dist/NetworkCaller.js
CHANGED
|
@@ -47,7 +47,7 @@ export class NetworkCaller {
|
|
|
47
47
|
throw Promise.reject("callNetworkMetrics() aborted. cellAddr not specified.");
|
|
48
48
|
}
|
|
49
49
|
const response = await this.appProxy.dumpNetworkMetrics({
|
|
50
|
-
|
|
50
|
+
dna_hash: this.cellAddr.dnaId.hash,
|
|
51
51
|
include_dht_summary: true,
|
|
52
52
|
});
|
|
53
53
|
if (!response || !response[this.cellAddr.dnaId.b64]) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NetworkCaller.js","sourceRoot":"","sources":["../src/NetworkCaller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,UAAU,EAAE,UAAU,EAAC,MAAM,oBAAoB,CAAC;AASjF,MAAM,OAAO,aAAa;IAGxB,YAAoB,QAAkB,EAAU,QAAsB;QAAlD,aAAQ,GAAR,QAAQ,CAAU;QAAU,aAAQ,GAAR,QAAQ,CAAc;QAK9D,qBAAgB,GAAc,CAAC,CAAC;QAChC,wBAAmB,GAA4C,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;QAElF,gBAAW,GAAoB,SAAS,CAAC;QAEzC,eAAU,GAAoB,EAAE,CAAC;IARzC,CAAC;IAYD,WAAW,CAAC,QAAqB,IAAI,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA,CAAA,CAAC;IAAA,CAAC;IAE/D,WAAW,CAAC,CAAS;QACnB,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,kBAAkB,KAAmC,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC,CAAA,CAAC;IAMpG,SAAS;QACP,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC;IAChB,CAAC;IAGD,aAAa,CAAC,QAAgB;QAC5B,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;YACpB,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;QACD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YAExC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5C,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE;gBACtC,QAAQ,CAAC,GAAG,CAAC,CAAC;aACf;QACH,CAAC,EAAE,QAAQ,CAAC,CAAC;IACf,CAAC;IAID,WAAW,CAAC,QAAqC;QAC/C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAGD,iBAAiB;QACf,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IACvB,CAAC;IAGD,YAAY;QACV,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAChC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;IAC/B,CAAC;IAID,KAAK;QACH,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;IACnC,CAAC;IAID,KAAK,CAAC,kBAAkB;QACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,MAAM,OAAO,CAAC,MAAM,CAAC,uDAAuD,CAAC,CAAC;SAC/E;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YACtD,
|
|
1
|
+
{"version":3,"file":"NetworkCaller.js","sourceRoot":"","sources":["../src/NetworkCaller.ts"],"names":[],"mappings":"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","sourcesContent":["import {AppProxy, CellAddress, prettyDate, RingBuffer} from \"@ddd-qc/cell-proxy\";\r\nimport {DhtArc, DumpNetworkMetricsRequest, FetchStateSummary, NetworkMetrics, Timestamp} from \"@holochain/client\";\r\n\r\ntype NetworkInfoCb = (info:NetworkMetrics) => void;\r\n\r\n\r\n/**\r\n * Class handling network info calling and result storing\r\n */\r\nexport class NetworkCaller {\r\n\r\n /** */\r\n constructor(private appProxy: AppProxy, private cellAddr?: CellAddress) {\r\n // N/A\r\n }\r\n\r\n\r\n private _lastTimeQueried: Timestamp = 0;\r\n private _networkMetricsLogs: RingBuffer<[Timestamp, NetworkMetrics]> = new RingBuffer(50);\r\n\r\n private _intervalId: any | undefined = undefined;\r\n\r\n private _callbacks: NetworkInfoCb[] = [];\r\n\r\n /** -- Getters & Setters -- */\r\n\r\n setCellAddr(cellAddr: CellAddress) { this.cellAddr = cellAddr};\r\n\r\n setCapacity(n: number) {\r\n this._networkMetricsLogs.resize(n);\r\n }\r\n\r\n get networkMetricsLogs(): [Timestamp, NetworkMetrics][] {return this._networkMetricsLogs.toArray();}\r\n\r\n\r\n /** -- Methods -- */\r\n\r\n /** */\r\n isLooping(): boolean {\r\n const isUnd = this._intervalId === undefined;\r\n return !isUnd;\r\n }\r\n\r\n /** */\r\n startCallLoop(interval: number) {\r\n if (this.isLooping()) {\r\n this.stopCallLoop();\r\n }\r\n this._intervalId = setInterval(async () => {\r\n //console.log(\"Requesting network info...\");\r\n const res = await this.callNetworkMetrics();\r\n for (const callback of this._callbacks) {\r\n callback(res);\r\n }\r\n }, interval);\r\n }\r\n\r\n\r\n /** */\r\n addCallback(callback: (n: NetworkMetrics) => void) {\r\n this._callbacks.push(callback);\r\n }\r\n\r\n /** */\r\n clearAllCallbacks() {\r\n this._callbacks = [];\r\n }\r\n\r\n /** */\r\n stopCallLoop() {\r\n clearInterval(this._intervalId);\r\n this._intervalId = undefined;\r\n }\r\n\r\n\r\n /** */\r\n clear() {\r\n this._networkMetricsLogs.clear();\r\n }\r\n\r\n\r\n /** */\r\n async callNetworkMetrics(): Promise<NetworkMetrics> {\r\n if (!this.cellAddr) {\r\n throw Promise.reject(\"callNetworkMetrics() aborted. cellAddr not specified.\");\r\n }\r\n /* Call networkInfo */\r\n const response = await this.appProxy.dumpNetworkMetrics({\r\n dna_hash: this.cellAddr.dnaId.hash,\r\n include_dht_summary: true, // ???\r\n } as DumpNetworkMetricsRequest);\r\n if (!response || !response[this.cellAddr.dnaId.b64]) {\r\n throw Promise.reject(\"No network metrics response for dna\");\r\n }\r\n /* Store */\r\n const dnaResp = response[this.cellAddr.dnaId.b64]!;\r\n this._lastTimeQueried = Date.now();\r\n this._networkMetricsLogs.add([this._lastTimeQueried, dnaResp]);\r\n /** */\r\n return dnaResp;\r\n }\r\n\r\n\r\n /** */\r\n dumpNetworkMetricsLogs(n?: number) {\r\n console.log(`dumpNetworkMetricsLogs()`, this.cellAddr);\r\n if (!this.cellAddr) {\r\n throw Promise.reject(\"dumpNetworkMetricsLogs() aborted. cellAddr not specified.\");\r\n }\r\n const nn = n? n : this._networkMetricsLogs.getBufferLength();\r\n let logs = this._networkMetricsLogs.getLastN(nn).map(([ts, metrics]) => {\r\n if (metrics.local_agents.length == 0) {\r\n throw Error(\"No local agents found in NetworkMetrics\");\r\n }\r\n if (metrics.local_agents.length == 0) {\r\n console.warn(\"dumpNetworkMetricsLogs() More than one local_agent found\");\r\n }\r\n const local_agent = metrics.local_agents[0]!;\r\n return {\r\n //ts,\r\n ts: prettyDate(new Date(ts)),\r\n current_arc: arc_size(local_agent.storage_arc),\r\n target_arc: arc_size(local_agent.target_arc),\r\n peers: Object.keys(metrics.gossip_state_summary.peer_meta).length,\r\n //total_peers: Object.keys(metrics.gossip_state_summary.peer_meta).length,\r\n rounds: metrics.gossip_state_summary.accepted_rounds.length,\r\n pending_requests: count_pending_requests(metrics.fetch_state_summary),\r\n }\r\n })\r\n console.table(logs);\r\n }\r\n}\r\n\r\n\r\n/** */\r\nfunction count_pending_requests(fetchSummary: FetchStateSummary): number {\r\n let total = 0;\r\n for (const peerUrls of Object.values(fetchSummary.pending_requests)) {\r\n total += peerUrls.length;\r\n }\r\n return total;\r\n}\r\n\r\n\r\n/** */\r\nfunction arc_size(arc: DhtArc): number {\r\n if (arc == null) {\r\n return 0;\r\n }\r\n return arc[1] - arc[0];\r\n}\r\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ddd-qc/lit-happ",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.33.0",
|
|
4
4
|
"description": "MVVM Framework for holochain apps using Lit",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@ddd-qc/cell-proxy": "file:../cell-proxy",
|
|
33
|
-
"@holochain/client": "
|
|
33
|
+
"@holochain/client": "^0.20.0-dev.2",
|
|
34
34
|
"@lit/context": "1.0.1",
|
|
35
35
|
"lit": "3.0.2",
|
|
36
36
|
"async-mutex": "0.4.0"
|