@ddd-qc/lit-happ 0.24.7 → 0.24.8
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.
- package/dist/HappElement.d.ts +2 -2
- package/dist/HappElement.js +4 -4
- package/dist/HappElement.js.map +1 -1
- package/package.json +1 -1
package/dist/HappElement.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export declare class HappElement extends LitElement {
|
|
|
14
14
|
appProxy: AppProxy;
|
|
15
15
|
hvm: HappViewModel;
|
|
16
16
|
/** Ctor */
|
|
17
|
-
protected constructor(port_or_socket: number | AppWebsocket, appId?: InstalledAppId, adminUrl?: URL);
|
|
17
|
+
protected constructor(port_or_socket: number | AppWebsocket, appId?: InstalledAppId, adminUrl?: URL, defaultTimeout?: number);
|
|
18
18
|
/** */
|
|
19
19
|
hvmConstructed(): Promise<void>;
|
|
20
20
|
/** */
|
|
@@ -22,7 +22,7 @@ export declare class HappElement extends LitElement {
|
|
|
22
22
|
/** */
|
|
23
23
|
perspectiveInitializedOnline(): Promise<void>;
|
|
24
24
|
/** */
|
|
25
|
-
protected constructHvm(port_or_socket: number | AppWebsocket, appId?: InstalledAppId, adminUrl?: URL): Promise<void>;
|
|
25
|
+
protected constructHvm(port_or_socket: number | AppWebsocket, appId?: InstalledAppId, adminUrl?: URL, defaultTimeout?: number): Promise<void>;
|
|
26
26
|
/** */
|
|
27
27
|
initializePerspective(): Promise<void>;
|
|
28
28
|
/** */
|
package/dist/HappElement.js
CHANGED
|
@@ -9,9 +9,9 @@ import { decodeHashFromBase64, encodeHashToBase64 } from "@holochain/client";
|
|
|
9
9
|
*/
|
|
10
10
|
export class HappElement extends LitElement {
|
|
11
11
|
/** Ctor */
|
|
12
|
-
constructor(port_or_socket, appId, adminUrl) {
|
|
12
|
+
constructor(port_or_socket, appId, adminUrl, defaultTimeout) {
|
|
13
13
|
super();
|
|
14
|
-
/* await */ this.constructHvm(port_or_socket, appId, adminUrl);
|
|
14
|
+
/* await */ this.constructHvm(port_or_socket, appId, adminUrl, defaultTimeout);
|
|
15
15
|
}
|
|
16
16
|
/** */
|
|
17
17
|
async hvmConstructed() { }
|
|
@@ -20,7 +20,7 @@ export class HappElement extends LitElement {
|
|
|
20
20
|
/** */
|
|
21
21
|
async perspectiveInitializedOnline() { }
|
|
22
22
|
/** */
|
|
23
|
-
async constructHvm(port_or_socket, appId, adminUrl) {
|
|
23
|
+
async constructHvm(port_or_socket, appId, adminUrl, defaultTimeout) {
|
|
24
24
|
const hvmDef = this.constructor.HVM_DEF;
|
|
25
25
|
if (!hvmDef) {
|
|
26
26
|
throw Error("HVM_DEF static field undefined in HappElement subclass " + this.constructor.name);
|
|
@@ -29,7 +29,7 @@ export class HappElement extends LitElement {
|
|
|
29
29
|
if (appId) {
|
|
30
30
|
hvmDef.id = appId;
|
|
31
31
|
}
|
|
32
|
-
this.appProxy = await ConductorAppProxy.new(port_or_socket, hvmDef.id, adminUrl);
|
|
32
|
+
this.appProxy = await ConductorAppProxy.new(port_or_socket, hvmDef.id, adminUrl, defaultTimeout);
|
|
33
33
|
this.hvm = await HappViewModel.new(this, this.appProxy, hvmDef);
|
|
34
34
|
await this.hvm.authorizeAllZomeCalls(this.appProxy.adminWs);
|
|
35
35
|
await this.hvmConstructed();
|
package/dist/HappElement.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HappElement.js","sourceRoot":"","sources":["../src/HappElement.ts"],"names":[],"mappings":"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","sourcesContent":["import {LitElement} from \"lit\";\nimport { state } from \"lit/decorators.js\";\nimport {\n BaseRoleName,\n AppProxy,\n ConductorAppProxy,\n HCL,\n flattenCells,\n CellIdStr, str2CellId\n} from \"@ddd-qc/cell-proxy\";\nimport {HappViewModel} from \"./HappViewModel\";\nimport {CellDef, HvmDef} from \"./definitions\";\nimport {\n AgentPubKeyB64,\n AppWebsocket,\n ClonedCell, decodeHashFromBase64,\n DnaHashB64,\n encodeHashToBase64,\n InstalledAppId,\n NetworkInfo, Timestamp\n} from \"@holochain/client\";\nimport {DnaViewModel} from \"./DnaViewModel\";\nimport {CellId} from \"@holochain/client/lib/types\";\nimport * as net from \"net\";\n\n\n/**\n *\n */\nexport class HappElement extends LitElement {\n\n /** Must be defined by subclass */\n static HVM_DEF: HvmDef;\n\n /** Set during init triggered at ctor */\n appProxy!: AppProxy;\n @state() hvm!: HappViewModel;\n\n\n /** Ctor */\n protected constructor(port_or_socket: number | AppWebsocket, appId?: InstalledAppId, adminUrl?: URL) {\n super();\n /* await */ this.constructHvm(port_or_socket, appId, adminUrl);\n }\n\n /** */\n async hvmConstructed(): Promise<void> {}\n /** */\n async perspectiveInitializedOffline(): Promise<void> {}\n /** */\n async perspectiveInitializedOnline(): Promise<void> {}\n\n\n /** */\n protected async constructHvm(port_or_socket: number | AppWebsocket, appId?: InstalledAppId, adminUrl?: URL): Promise<void> {\n const hvmDef = (this.constructor as typeof HappElement).HVM_DEF;\n if (!hvmDef) {\n throw Error(\"HVM_DEF static field undefined in HappElement subclass \" + this.constructor.name);\n }\n /** Override appId */\n if (appId) {\n hvmDef.id = appId;\n }\n this.appProxy = await ConductorAppProxy.new(port_or_socket, hvmDef.id, adminUrl);\n this.hvm = await HappViewModel.new(this, this.appProxy, hvmDef);\n await this.hvm.authorizeAllZomeCalls(this.appProxy.adminWs);\n await this.hvmConstructed();\n await this.initializePerspective();\n }\n\n\n /** */\n async initializePerspective(): Promise<void> {\n await this.hvm.initializePerspectiveOffline();\n await this.perspectiveInitializedOffline();\n // TODO move this to a later stage\n await this.hvm.initializePerspectiveOnline();\n await this.perspectiveInitializedOnline();\n }\n\n\n /** */\n async networkInfoCell(hcl: HCL): Promise<NetworkInfo> {\n const dvm = this.hvm.getDvm(hcl);\n if (!dvm) {\n return Promise.reject(\"No DNA found at given HCL: \" + hcl.toString());\n }\n const netInfoMap = this.appProxy.networkInfo({dnas: [decodeHashFromBase64(dvm.cell.dnaHash)]});\n return netInfoMap[dvm.cell.dnaHash][1];\n }\n\n\n /** */\n async networkInfoAll(baseRoleName?: string): Promise<Record<CellIdStr, [Timestamp, NetworkInfo]>> {\n console.log(`networkInfoAll() \"${baseRoleName}\"`);\n /** Grab cellMap */\n const hvmDef = (this.constructor as typeof HappElement).HVM_DEF;\n const cellMap = this.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 cellIds: CellId[] = [];\n if (baseRoleName) {\n const cfr = cellMap[baseRoleName];\n if (!cfr) {\n return Promise.reject(\"No cells found at given baseRoleName: \" + baseRoleName);\n }\n cellIds = flattenCells(cfr);\n } else {\n for (const cells of Object.values(cellMap)) {\n cellIds = cellIds.concat(flattenCells(cells))\n }\n }\n console.log(`networkInfoAll() cellIds`, cellIds);\n /* Sort by agent key */\n let dnaMap: Record<AgentPubKeyB64, DnaHashB64[]> = {}\n for (const cellId of cellIds) {\n const key = encodeHashToBase64(cellId[1]);\n if (!dnaMap[key]) {\n dnaMap[key] = [];\n }\n dnaMap[key].push(encodeHashToBase64(cellId[0]))\n }\n console.log(`networkInfoAll() dnaMap`, dnaMap);\n /** Call NetworkInfo per AgentPubKey */\n const allNetInfos = {};\n for (const [agent, dnaHashes] of Object.entries(dnaMap)) {\n const netInfos = await this.appProxy.networkInfo({dnas: dnaHashes.map((dna) => decodeHashFromBase64(dna))});\n for (const [dnaHash, infoPair] of Object.entries(netInfos)) {\n const idStr = CellIdStr(decodeHashFromBase64(dnaHash), decodeHashFromBase64(agent));\n allNetInfos[idStr] = infoPair;\n }\n }\n /* Done */\n return allNetInfos;\n }\n\n\n /** */\n dumpLastestNetworkInfo(baseRoleName?: string) {\n console.log(`dumpLastestNetworkInfo() \"${baseRoleName}\"`);\n /** Grab cellMap */\n const hvmDef = (this.constructor as typeof HappElement).HVM_DEF;\n const cellMap = this.appProxy.getAppCells(hvmDef.id);\n if (!cellMap) {\n throw Error(\"No cells found at given appId: \" + hvmDef.id);\n }\n /** Get cell Ids */\n let cellIds: CellId[] = [];\n if (baseRoleName) {\n const cfr = cellMap[baseRoleName];\n if (!cfr) {\n return Promise.reject(\"No cells found at given baseRoleName: \" + baseRoleName);\n }\n cellIds = flattenCells(cfr);\n } else {\n for (const cells of Object.values(cellMap)) {\n cellIds = cellIds.concat(flattenCells(cells))\n }\n }\n let logs = cellIds.map((cellId) => {\n const str = CellIdStr(cellId);\n const logs = this.appProxy.networkInfoLogs[str];\n if (logs.length === 0) {\n return;\n }\n const [ts, info] = logs[logs.length - 1];\n const dnaHash = encodeHashToBase64(cellId[0]);\n const hcl = this.appProxy.getLocations(cellId);\n const cellName = this.appProxy.getCellName(hcl[0]);\n const dnaName = dnaHash.slice(-6);\n const agentName = encodeHashToBase64(cellId[1]).slice(-6);\n return {\n ts,\n name: cellName,\n dna: dnaName,\n arc: info.arc_size,\n peers: info.current_number_of_peers,\n total_peers: info.total_network_peers,\n rounds: info.completed_rounds_since_last_time_queried,\n bytes: info.bytes_since_last_time_queried,\n fetch_bytes: info.fetch_pool_info.op_bytes_to_fetch,\n fetch_ops: info.fetch_pool_info.num_ops_to_fetch,\n agent: agentName,\n }\n })\n console.table(logs);\n }\n\n\n /* */\n dumpNetworkInfoLogs(cellIdStr?: string) {\n console.log(`dumpNetworkInfoLogs() \"${cellIdStr}\"`);\n let logMap = this.appProxy.networkInfoLogs;\n if (cellIdStr) {\n logMap = {};\n logMap[cellIdStr] = this.appProxy.networkInfoLogs[cellIdStr];\n }\n for (const [cellIdStr, infoPairs] of Object.entries(logMap)) {\n const cellId = str2CellId(cellIdStr);\n const dnaHash = encodeHashToBase64(cellId[0]);\n const hcl = this.appProxy.getLocations(cellId);\n const cellName = this.appProxy.getCellName(hcl[0]);\n const dnaName = dnaHash.slice(-6);\n const agentName = encodeHashToBase64(cellId[1]).slice(-6);\n console.log(`NetworfInfo logs of cell \"${cellName}\" | [${agentName}, ${dnaName}]`);\n const logs = infoPairs\n .map(([ts, info]) => {\n return {\n ts,\n arc: info.arc_size,\n peers: info.current_number_of_peers,\n total_peers: info.total_network_peers,\n rounds: info.completed_rounds_since_last_time_queried,\n bytes: info.bytes_since_last_time_queried,\n fetch_bytes: info.fetch_pool_info.op_bytes_to_fetch,\n fetch_ops: info.fetch_pool_info.num_ops_to_fetch,\n }\n });\n console.table(logs);\n }\n }\n\n\n /** */\n async createClone(baseRoleName: BaseRoleName, cellDef?: CellDef): Promise<[ClonedCell, DnaViewModel]> {\n return this.hvm.cloneDvm(baseRoleName, cellDef);\n }\n\n\n /** */\n shouldUpdate() {\n return !!this.hvm;\n }\n\n}\n"]}
|
|
1
|
+
{"version":3,"file":"HappElement.js","sourceRoot":"","sources":["../src/HappElement.ts"],"names":[],"mappings":"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","sourcesContent":["import {LitElement} from \"lit\";\nimport { state } from \"lit/decorators.js\";\nimport {\n BaseRoleName,\n AppProxy,\n ConductorAppProxy,\n HCL,\n flattenCells,\n CellIdStr, str2CellId\n} from \"@ddd-qc/cell-proxy\";\nimport {HappViewModel} from \"./HappViewModel\";\nimport {CellDef, HvmDef} from \"./definitions\";\nimport {\n AgentPubKeyB64,\n AppWebsocket,\n ClonedCell, decodeHashFromBase64,\n DnaHashB64,\n encodeHashToBase64,\n InstalledAppId,\n NetworkInfo, Timestamp\n} from \"@holochain/client\";\nimport {DnaViewModel} from \"./DnaViewModel\";\nimport {CellId} from \"@holochain/client/lib/types\";\nimport * as net from \"net\";\n\n\n/**\n *\n */\nexport class HappElement extends LitElement {\n\n /** Must be defined by subclass */\n static HVM_DEF: HvmDef;\n\n /** Set during init triggered at ctor */\n appProxy!: AppProxy;\n @state() hvm!: HappViewModel;\n\n\n /** Ctor */\n protected constructor(port_or_socket: number | AppWebsocket, appId?: InstalledAppId, adminUrl?: URL, defaultTimeout?: number) {\n super();\n /* await */ this.constructHvm(port_or_socket, appId, adminUrl, defaultTimeout);\n }\n\n /** */\n async hvmConstructed(): Promise<void> {}\n /** */\n async perspectiveInitializedOffline(): Promise<void> {}\n /** */\n async perspectiveInitializedOnline(): Promise<void> {}\n\n\n /** */\n protected async constructHvm(port_or_socket: number | AppWebsocket, appId?: InstalledAppId, adminUrl?: URL, defaultTimeout?: number): Promise<void> {\n const hvmDef = (this.constructor as typeof HappElement).HVM_DEF;\n if (!hvmDef) {\n throw Error(\"HVM_DEF static field undefined in HappElement subclass \" + this.constructor.name);\n }\n /** Override appId */\n if (appId) {\n hvmDef.id = appId;\n }\n this.appProxy = await ConductorAppProxy.new(port_or_socket, hvmDef.id, adminUrl, defaultTimeout);\n this.hvm = await HappViewModel.new(this, this.appProxy, hvmDef);\n await this.hvm.authorizeAllZomeCalls(this.appProxy.adminWs);\n await this.hvmConstructed();\n await this.initializePerspective();\n }\n\n\n /** */\n async initializePerspective(): Promise<void> {\n await this.hvm.initializePerspectiveOffline();\n await this.perspectiveInitializedOffline();\n // TODO move this to a later stage\n await this.hvm.initializePerspectiveOnline();\n await this.perspectiveInitializedOnline();\n }\n\n\n /** */\n async networkInfoCell(hcl: HCL): Promise<NetworkInfo> {\n const dvm = this.hvm.getDvm(hcl);\n if (!dvm) {\n return Promise.reject(\"No DNA found at given HCL: \" + hcl.toString());\n }\n const netInfoMap = this.appProxy.networkInfo({dnas: [decodeHashFromBase64(dvm.cell.dnaHash)]});\n return netInfoMap[dvm.cell.dnaHash][1];\n }\n\n\n /** */\n async networkInfoAll(baseRoleName?: string): Promise<Record<CellIdStr, [Timestamp, NetworkInfo]>> {\n console.log(`networkInfoAll() \"${baseRoleName}\"`);\n /** Grab cellMap */\n const hvmDef = (this.constructor as typeof HappElement).HVM_DEF;\n const cellMap = this.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 cellIds: CellId[] = [];\n if (baseRoleName) {\n const cfr = cellMap[baseRoleName];\n if (!cfr) {\n return Promise.reject(\"No cells found at given baseRoleName: \" + baseRoleName);\n }\n cellIds = flattenCells(cfr);\n } else {\n for (const cells of Object.values(cellMap)) {\n cellIds = cellIds.concat(flattenCells(cells))\n }\n }\n console.log(`networkInfoAll() cellIds`, cellIds);\n /* Sort by agent key */\n let dnaMap: Record<AgentPubKeyB64, DnaHashB64[]> = {}\n for (const cellId of cellIds) {\n const key = encodeHashToBase64(cellId[1]);\n if (!dnaMap[key]) {\n dnaMap[key] = [];\n }\n dnaMap[key].push(encodeHashToBase64(cellId[0]))\n }\n console.log(`networkInfoAll() dnaMap`, dnaMap);\n /** Call NetworkInfo per AgentPubKey */\n const allNetInfos = {};\n for (const [agent, dnaHashes] of Object.entries(dnaMap)) {\n const netInfos = await this.appProxy.networkInfo({dnas: dnaHashes.map((dna) => decodeHashFromBase64(dna))});\n for (const [dnaHash, infoPair] of Object.entries(netInfos)) {\n const idStr = CellIdStr(decodeHashFromBase64(dnaHash), decodeHashFromBase64(agent));\n allNetInfos[idStr] = infoPair;\n }\n }\n /* Done */\n return allNetInfos;\n }\n\n\n /** */\n dumpLastestNetworkInfo(baseRoleName?: string) {\n console.log(`dumpLastestNetworkInfo() \"${baseRoleName}\"`);\n /** Grab cellMap */\n const hvmDef = (this.constructor as typeof HappElement).HVM_DEF;\n const cellMap = this.appProxy.getAppCells(hvmDef.id);\n if (!cellMap) {\n throw Error(\"No cells found at given appId: \" + hvmDef.id);\n }\n /** Get cell Ids */\n let cellIds: CellId[] = [];\n if (baseRoleName) {\n const cfr = cellMap[baseRoleName];\n if (!cfr) {\n return Promise.reject(\"No cells found at given baseRoleName: \" + baseRoleName);\n }\n cellIds = flattenCells(cfr);\n } else {\n for (const cells of Object.values(cellMap)) {\n cellIds = cellIds.concat(flattenCells(cells))\n }\n }\n let logs = cellIds.map((cellId) => {\n const str = CellIdStr(cellId);\n const logs = this.appProxy.networkInfoLogs[str];\n if (logs.length === 0) {\n return;\n }\n const [ts, info] = logs[logs.length - 1];\n const dnaHash = encodeHashToBase64(cellId[0]);\n const hcl = this.appProxy.getLocations(cellId);\n const cellName = this.appProxy.getCellName(hcl[0]);\n const dnaName = dnaHash.slice(-6);\n const agentName = encodeHashToBase64(cellId[1]).slice(-6);\n return {\n ts,\n name: cellName,\n dna: dnaName,\n arc: info.arc_size,\n peers: info.current_number_of_peers,\n total_peers: info.total_network_peers,\n rounds: info.completed_rounds_since_last_time_queried,\n bytes: info.bytes_since_last_time_queried,\n fetch_bytes: info.fetch_pool_info.op_bytes_to_fetch,\n fetch_ops: info.fetch_pool_info.num_ops_to_fetch,\n agent: agentName,\n }\n })\n console.table(logs);\n }\n\n\n /* */\n dumpNetworkInfoLogs(cellIdStr?: string) {\n console.log(`dumpNetworkInfoLogs() \"${cellIdStr}\"`);\n let logMap = this.appProxy.networkInfoLogs;\n if (cellIdStr) {\n logMap = {};\n logMap[cellIdStr] = this.appProxy.networkInfoLogs[cellIdStr];\n }\n for (const [cellIdStr, infoPairs] of Object.entries(logMap)) {\n const cellId = str2CellId(cellIdStr);\n const dnaHash = encodeHashToBase64(cellId[0]);\n const hcl = this.appProxy.getLocations(cellId);\n const cellName = this.appProxy.getCellName(hcl[0]);\n const dnaName = dnaHash.slice(-6);\n const agentName = encodeHashToBase64(cellId[1]).slice(-6);\n console.log(`NetworfInfo logs of cell \"${cellName}\" | [${agentName}, ${dnaName}]`);\n const logs = infoPairs\n .map(([ts, info]) => {\n return {\n ts,\n arc: info.arc_size,\n peers: info.current_number_of_peers,\n total_peers: info.total_network_peers,\n rounds: info.completed_rounds_since_last_time_queried,\n bytes: info.bytes_since_last_time_queried,\n fetch_bytes: info.fetch_pool_info.op_bytes_to_fetch,\n fetch_ops: info.fetch_pool_info.num_ops_to_fetch,\n }\n });\n console.table(logs);\n }\n }\n\n\n /** */\n async createClone(baseRoleName: BaseRoleName, cellDef?: CellDef): Promise<[ClonedCell, DnaViewModel]> {\n return this.hvm.cloneDvm(baseRoleName, cellDef);\n }\n\n\n /** */\n shouldUpdate() {\n return !!this.hvm;\n }\n\n}\n"]}
|