@ddd-qc/cell-proxy 0.32.0 → 0.32.1

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":"ConductorAppProxy.d.ts","sourceRoot":"","sources":["../src/ConductorAppProxy.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,YAAY,EACZ,eAAe,EACf,cAAc,EACd,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,UAAU,EACV,SAAS,EACT,SAAS,EACT,QAAQ,EACR,cAAc,EACd,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACpC,OAAO,EAAC,OAAO,EAAC,MAAM,QAAQ,CAAC;AAK/B,MAAM,WAAW,UAAU;IACf,eAAe,CAAC,GAAG,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,OAAO,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC9G,eAAe,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC/E,gBAAgB,CAAC,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzE;AAWD,qBAAa,iBAAkB,SAAQ,QAAS,YAAW,SAAS;gBAGxC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc;IAOnH,OAAO,CAAC,MAAM,CAAgB;IAWf,QAAQ,CAAC,GAAG,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKlE,OAAO,IAAI,OAAO,CAAC,eAAe,CAAC;IAIzC,EAAE,CAAC,IAAI,SAAS,MAAM,SAAS,EACtC,SAAS,EAAE,IAAI,GAAG,SAAS,IAAI,EAAE,EACjC,QAAQ,EAAE,QAAQ,GACjB,mBAAmB;IAIP,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,UAAU,CAAC;IAKrE,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,UAAU,CAAC;IAKrE,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAMjE,gBAAgB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAIrE,kBAAkB,CAC/B,GAAG,EAAE,yBAAyB,EAC9B,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,0BAA0B,CAAC;WASzB,GAAG,CAAC,cAAc,EAAE,MAAM,GAAG,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;mBAsC9H,UAAU;CAWhC"}
1
+ {"version":3,"file":"ConductorAppProxy.d.ts","sourceRoot":"","sources":["../src/ConductorAppProxy.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,YAAY,EACZ,eAAe,EACf,cAAc,EACd,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,UAAU,EACV,SAAS,EACT,SAAS,EACT,QAAQ,EACR,cAAc,EACd,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACpC,OAAO,EAAC,OAAO,EAAC,MAAM,QAAQ,CAAC;AAI/B,MAAM,WAAW,UAAU;IACf,eAAe,CAAC,GAAG,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,OAAO,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC9G,eAAe,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC/E,gBAAgB,CAAC,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzE;AAWD,qBAAa,iBAAkB,SAAQ,QAAS,YAAW,SAAS;gBAGxC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc;IAOnH,OAAO,CAAC,MAAM,CAAgB;IAWf,QAAQ,CAAC,GAAG,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKlE,OAAO,IAAI,OAAO,CAAC,eAAe,CAAC;IAIzC,EAAE,CAAC,IAAI,SAAS,MAAM,SAAS,EACtC,SAAS,EAAE,IAAI,GAAG,SAAS,IAAI,EAAE,EACjC,QAAQ,EAAE,QAAQ,GACjB,mBAAmB;IAIP,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,UAAU,CAAC;IAKrE,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,UAAU,CAAC;IAKrE,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAMjE,gBAAgB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAIrE,kBAAkB,CAC/B,GAAG,EAAE,yBAAyB,EAC9B,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,0BAA0B,CAAC;WASzB,GAAG,CAAC,cAAc,EAAE,MAAM,GAAG,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;mBAsC9H,UAAU;CAWhC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConductorAppProxy.js","sourceRoot":"","sources":["../src/ConductorAppProxy.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AppInfoResponse,\n AppWebsocket,\n CallZomeRequest,\n InstalledAppId,\n CreateCloneCellRequest,\n DisableCloneCellRequest,\n EnableCloneCellRequest,\n ClonedCell,\n AppClient,\n AppEvents,\n SignalCb,\n AdminWebsocket,\n CreateCloneCellResponse,\n EnableCloneCellResponse,\n DumpNetworkStatsResponse,\n DumpNetworkMetricsRequest,\n DumpNetworkMetricsResponse,\n} from \"@holochain/client\";\nimport { UnsubscribeFunction } from \"emittery\";\nimport {AppProxy} from \"./AppProxy\";\nimport {AgentId} from \"./hash\";\nimport {AppWebsocketConnectionOptions} from \"@holochain/client/lib/api/app/types\";\nimport {AppAuthenticationToken} from \"@holochain/client/lib/api/admin/types\";\n\n\nexport interface CellCloner {\n /*async*/ createCloneCell(req: CreateCloneCellRequest, publicToGroupMembers: boolean): Promise<CreateCloneCellResponse>,\n /*async*/ enableCloneCell(req: EnableCloneCellRequest): Promise<EnableCloneCellResponse>,\n /*async*/ disableCloneCell(req: DisableCloneCellRequest): Promise<void>,\n}\n\n\n/**\n * Creates, connects and holds an appWebsocket.\n * Creates and holds Cell proxies for this appWebsocket.\n * Maintains a mapping between CellIds and HCLs\n * Handles SignalHandlers per HCL\n * Stores appSignal logs\n * TODO Implement Singleton per App port?\n */\nexport class ConductorAppProxy extends AppProxy implements AppClient {\n\n /** Ctor */\n /*protected*/ constructor(defaultTimeout: number, appId: InstalledAppId, agentId: AgentId, adminWs?: AdminWebsocket) {\n super(defaultTimeout, appId, agentId, adminWs);\n }\n\n\n /** -- Fields -- */\n\n private _appWs!: AppWebsocket;\n\n\n /** -- Getters -- */\n\n ///** Check this after connecting since AppWebsocket can shamelessly override the provided args. */\n //get appIdOfShame(): InstalledAppId | undefined { return this._appWs.overrideInstalledAppId;}\n\n\n /** -- AppClient (Passthrough to appWebsocket) -- */\n\n override async callZome(req: CallZomeRequest, timeout?: number): Promise<unknown> {\n timeout = timeout ? timeout : this.defaultTimeout\n return this._appWs.callZome(req, timeout)\n }\n\n override async appInfo(): Promise<AppInfoResponse> {\n return this._appWs!.appInfo();\n }\n\n override on<Name extends keyof AppEvents>(\n eventName: Name | readonly Name[],\n listener: SignalCb\n ): UnsubscribeFunction {\n return this._appWs!.on(eventName, listener);\n }\n\n override async createCloneCell(request: CreateCloneCellRequest): Promise<ClonedCell> {\n //console.log(\"createCloneCell() called:\", request)\n return this._appWs!.createCloneCell(request);\n }\n\n override async enableCloneCell(request: EnableCloneCellRequest): Promise<ClonedCell> {\n //console.log(\"enableCloneCell() called:\", request)\n return this._appWs!.enableCloneCell(request);\n }\n\n override async disableCloneCell(request: DisableCloneCellRequest): Promise<void> {\n //console.log(\"disableCloneCell() called:\", request)\n return this._appWs!.disableCloneCell(request);\n }\n\n\n override async dumpNetworkStats(timeout?: number): Promise<DumpNetworkStatsResponse> {\n return await this._appWs!.dumpNetworkStats(timeout);\n }\n\n override async dumpNetworkMetrics(\n req: DumpNetworkMetricsRequest,\n timeout?: number\n ): Promise<DumpNetworkMetricsResponse> {\n return await this._appWs!.dumpNetworkMetrics(req, timeout);\n }\n\n\n\n /** -- Creation -- */\n\n /** async Factory */\n static async new(port_or_socket: number | AppWebsocket, appId: InstalledAppId, adminUrl?: URL, defaultTimeout?: number): Promise<ConductorAppProxy> {\n const timeout = defaultTimeout ? defaultTimeout : 10 * 1000;\n if (typeof port_or_socket == 'object') {\n return ConductorAppProxy.fromSocket(port_or_socket, timeout);\n } else {\n let wsUrl = new URL(`ws://localhost:${port_or_socket}`);\n try {\n let token: AppAuthenticationToken | undefined = undefined;\n let adminWs: AdminWebsocket | undefined = undefined;\n if (adminUrl) {\n adminWs = await AdminWebsocket.connect({url: adminUrl});\n console.log({adminWs});\n const issued = await adminWs.issueAppAuthenticationToken({installed_app_id: appId});\n token = issued.token;\n }\n const options: AppWebsocketConnectionOptions = {\n url: wsUrl,\n defaultTimeout: timeout,\n };\n if (token) {\n options.token = token;\n }\n const appWs = await AppWebsocket.connect(options);\n const agentId = new AgentId(appWs.myPubKey);\n //console.log(\"appWs.myPubKey\", appWs.myPubKey, agentId);\n let conductor = new ConductorAppProxy(timeout, appId, agentId, adminWs);\n conductor._appWs = appWs;\n conductor._appWs.on('signal', (sig) => {conductor.onSignal(sig)});\n return conductor;\n } catch (e) {\n console.error(\"ConductorAppProxy initialization failed\", e)\n return Promise.reject(\"ConductorAppProxy initialization failed\");\n }\n }\n }\n\n\n /** */\n private static async fromSocket(appWebsocket: AppWebsocket, defaultTimeout: number): Promise<ConductorAppProxy> {\n try {\n let conductor = new ConductorAppProxy(defaultTimeout, appWebsocket.installedAppId, new AgentId(appWebsocket.myPubKey));\n conductor._appWs = appWebsocket;\n conductor._appWs.on('signal', (sig) => {conductor.onSignal(sig)})\n return conductor;\n } catch (e) {\n console.error(\"ConductorAppProxy initialization failed\", e)\n return Promise.reject(\"ConductorAppProxy initialization failed\");\n }\n }\n}\n\n"]}
1
+ {"version":3,"file":"ConductorAppProxy.js","sourceRoot":"","sources":["../src/ConductorAppProxy.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AppInfoResponse,\n AppWebsocket,\n CallZomeRequest,\n InstalledAppId,\n CreateCloneCellRequest,\n DisableCloneCellRequest,\n EnableCloneCellRequest,\n ClonedCell,\n AppClient,\n AppEvents,\n SignalCb,\n AdminWebsocket,\n CreateCloneCellResponse,\n EnableCloneCellResponse,\n DumpNetworkStatsResponse,\n DumpNetworkMetricsRequest,\n DumpNetworkMetricsResponse,\n} from \"@holochain/client\";\nimport { UnsubscribeFunction } from \"emittery\";\nimport {AppProxy} from \"./AppProxy\";\nimport {AgentId} from \"./hash\";\nimport {AppWebsocketConnectionOptions, AppAuthenticationToken} from \"@holochain/client\";\n\n\nexport interface CellCloner {\n /*async*/ createCloneCell(req: CreateCloneCellRequest, publicToGroupMembers: boolean): Promise<CreateCloneCellResponse>,\n /*async*/ enableCloneCell(req: EnableCloneCellRequest): Promise<EnableCloneCellResponse>,\n /*async*/ disableCloneCell(req: DisableCloneCellRequest): Promise<void>,\n}\n\n\n/**\n * Creates, connects and holds an appWebsocket.\n * Creates and holds Cell proxies for this appWebsocket.\n * Maintains a mapping between CellIds and HCLs\n * Handles SignalHandlers per HCL\n * Stores appSignal logs\n * TODO Implement Singleton per App port?\n */\nexport class ConductorAppProxy extends AppProxy implements AppClient {\n\n /** Ctor */\n /*protected*/ constructor(defaultTimeout: number, appId: InstalledAppId, agentId: AgentId, adminWs?: AdminWebsocket) {\n super(defaultTimeout, appId, agentId, adminWs);\n }\n\n\n /** -- Fields -- */\n\n private _appWs!: AppWebsocket;\n\n\n /** -- Getters -- */\n\n ///** Check this after connecting since AppWebsocket can shamelessly override the provided args. */\n //get appIdOfShame(): InstalledAppId | undefined { return this._appWs.overrideInstalledAppId;}\n\n\n /** -- AppClient (Passthrough to appWebsocket) -- */\n\n override async callZome(req: CallZomeRequest, timeout?: number): Promise<unknown> {\n timeout = timeout ? timeout : this.defaultTimeout\n return this._appWs.callZome(req, timeout)\n }\n\n override async appInfo(): Promise<AppInfoResponse> {\n return this._appWs!.appInfo();\n }\n\n override on<Name extends keyof AppEvents>(\n eventName: Name | readonly Name[],\n listener: SignalCb\n ): UnsubscribeFunction {\n return this._appWs!.on(eventName, listener);\n }\n\n override async createCloneCell(request: CreateCloneCellRequest): Promise<ClonedCell> {\n //console.log(\"createCloneCell() called:\", request)\n return this._appWs!.createCloneCell(request);\n }\n\n override async enableCloneCell(request: EnableCloneCellRequest): Promise<ClonedCell> {\n //console.log(\"enableCloneCell() called:\", request)\n return this._appWs!.enableCloneCell(request);\n }\n\n override async disableCloneCell(request: DisableCloneCellRequest): Promise<void> {\n //console.log(\"disableCloneCell() called:\", request)\n return this._appWs!.disableCloneCell(request);\n }\n\n\n override async dumpNetworkStats(timeout?: number): Promise<DumpNetworkStatsResponse> {\n return await this._appWs!.dumpNetworkStats(timeout);\n }\n\n override async dumpNetworkMetrics(\n req: DumpNetworkMetricsRequest,\n timeout?: number\n ): Promise<DumpNetworkMetricsResponse> {\n return await this._appWs!.dumpNetworkMetrics(req, timeout);\n }\n\n\n\n /** -- Creation -- */\n\n /** async Factory */\n static async new(port_or_socket: number | AppWebsocket, appId: InstalledAppId, adminUrl?: URL, defaultTimeout?: number): Promise<ConductorAppProxy> {\n const timeout = defaultTimeout ? defaultTimeout : 10 * 1000;\n if (typeof port_or_socket == 'object') {\n return ConductorAppProxy.fromSocket(port_or_socket, timeout);\n } else {\n let wsUrl = new URL(`ws://localhost:${port_or_socket}`);\n try {\n let token: AppAuthenticationToken | undefined = undefined;\n let adminWs: AdminWebsocket | undefined = undefined;\n if (adminUrl) {\n adminWs = await AdminWebsocket.connect({url: adminUrl});\n console.log({adminWs});\n const issued = await adminWs.issueAppAuthenticationToken({installed_app_id: appId});\n token = issued.token;\n }\n const options: AppWebsocketConnectionOptions = {\n url: wsUrl,\n defaultTimeout: timeout,\n };\n if (token) {\n options.token = token;\n }\n const appWs = await AppWebsocket.connect(options);\n const agentId = new AgentId(appWs.myPubKey);\n //console.log(\"appWs.myPubKey\", appWs.myPubKey, agentId);\n let conductor = new ConductorAppProxy(timeout, appId, agentId, adminWs);\n conductor._appWs = appWs;\n conductor._appWs.on('signal', (sig) => {conductor.onSignal(sig)});\n return conductor;\n } catch (e) {\n console.error(\"ConductorAppProxy initialization failed\", e)\n return Promise.reject(\"ConductorAppProxy initialization failed\");\n }\n }\n }\n\n\n /** */\n private static async fromSocket(appWebsocket: AppWebsocket, defaultTimeout: number): Promise<ConductorAppProxy> {\n try {\n let conductor = new ConductorAppProxy(defaultTimeout, appWebsocket.installedAppId, new AgentId(appWebsocket.myPubKey));\n conductor._appWs = appWebsocket;\n conductor._appWs.on('signal', (sig) => {conductor.onSignal(sig)})\n return conductor;\n } catch (e) {\n console.error(\"ConductorAppProxy initialization failed\", e)\n return Promise.reject(\"ConductorAppProxy initialization failed\");\n }\n }\n}\n\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ddd-qc/cell-proxy",
3
- "version": "0.32.0",
3
+ "version": "0.32.1",
4
4
  "description": "Proxy classes and helpers for managing a Holochain AppWebsocket",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",