{"version":3,"file":"index.mjs","names":[],"sources":["../../src/manager/manager-client.ts","../../src/manager/manager.ts"],"sourcesContent":["/* SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD */\n/* SPDX-License-Identifier: Apache-2.0 */\n\nimport {\n  callServiceFunction,\n  closeService,\n  isServiceAvailable,\n  openService,\n  resolveHost,\n  type ServiceClientOptions,\n  type ServiceHandle,\n} from '../common/service-rpc.ts';\nimport type {\n  ServiceEventSchema,\n  ServiceFunctionSchema,\n  ServiceInfo,\n  ServiceSchema,\n} from './manager-types.ts';\n\nexport const MANAGER_SERVICE_NAME = 'Manager';\n\nexport const MANAGER_FUNCTIONS = {\n  GetServiceNames: 'GetServiceNames',\n  GetServiceInfo: 'GetServiceInfo',\n  GetServiceSchema: 'GetServiceSchema',\n  GetServiceFunctionSchema: 'GetServiceFunctionSchema',\n  GetServiceEventSchema: 'GetServiceEventSchema',\n} as const;\n\nexport type ManagerClientOptions = ServiceClientOptions;\nexport { type ServiceHandle as ManagerHandle };\n\nexport function isManagerAvailable(options?: ManagerClientOptions): boolean {\n  return isServiceAvailable(MANAGER_SERVICE_NAME, options);\n}\n\nexport function openManager(options?: ManagerClientOptions): ServiceHandle {\n  return openService(MANAGER_SERVICE_NAME, options);\n}\n\nexport function closeManager(handle: ServiceHandle, options?: ManagerClientOptions): void {\n  closeService(handle, options);\n}\n\nexport function getServiceNames(handle: ServiceHandle, options?: ManagerClientOptions): string[] {\n  return callServiceFunction<string[]>(\n    resolveHost(options),\n    handle,\n    MANAGER_FUNCTIONS.GetServiceNames,\n    {},\n  );\n}\n\nexport function getServiceInfo(\n  handle: ServiceHandle,\n  name: string,\n  options?: ManagerClientOptions,\n): ServiceInfo {\n  return callServiceFunction<ServiceInfo>(\n    resolveHost(options),\n    handle,\n    MANAGER_FUNCTIONS.GetServiceInfo,\n    { Name: name },\n  );\n}\n\nexport function getServiceSchema(\n  handle: ServiceHandle,\n  name: string,\n  options?: ManagerClientOptions,\n): ServiceSchema {\n  return callServiceFunction<ServiceSchema>(\n    resolveHost(options),\n    handle,\n    MANAGER_FUNCTIONS.GetServiceSchema,\n    { Name: name },\n  );\n}\n\nexport function getServiceFunctionSchema(\n  handle: ServiceHandle,\n  serviceName: string,\n  functionName: string,\n  options?: ManagerClientOptions,\n): ServiceFunctionSchema {\n  return callServiceFunction<ServiceFunctionSchema>(\n    resolveHost(options),\n    handle,\n    MANAGER_FUNCTIONS.GetServiceFunctionSchema,\n    { ServiceName: serviceName, FunctionName: functionName },\n  );\n}\n\nexport function getServiceEventSchema(\n  handle: ServiceHandle,\n  serviceName: string,\n  eventName: string,\n  options?: ManagerClientOptions,\n): ServiceEventSchema {\n  return callServiceFunction<ServiceEventSchema>(\n    resolveHost(options),\n    handle,\n    MANAGER_FUNCTIONS.GetServiceEventSchema,\n    { ServiceName: serviceName, EventName: eventName },\n  );\n}\n","/* SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD */\n/* SPDX-License-Identifier: Apache-2.0 */\n\nimport {\n  closeManager,\n  getServiceEventSchema,\n  getServiceFunctionSchema,\n  getServiceInfo,\n  getServiceNames,\n  getServiceSchema,\n  isManagerAvailable,\n  openManager,\n  type ManagerClientOptions,\n  type ManagerHandle,\n} from './manager-client.ts';\nimport type {\n  ServiceEventSchema,\n  ServiceFunctionSchema,\n  ServiceInfo,\n  ServiceSchema,\n} from './manager-types.ts';\n\nexport type ManagerModuleOptions = ManagerClientOptions;\ntype State = { handle: ManagerHandle | null; options: ManagerModuleOptions };\nconst state: State = { handle: null, options: {} };\n\nfunction handle(): ManagerHandle {\n  if (state.handle !== null) return state.handle;\n  if (!isManagerAvailable(state.options)) throw new Error('Manager service is not available');\n  state.handle = openManager(state.options);\n  return state.handle;\n}\n\nexport function configure(options: ManagerModuleOptions): void {\n  if (state.handle !== null) closeManager(state.handle, state.options);\n  state.handle = null;\n  state.options = options;\n}\n\nconst manager = {\n  available(): boolean {\n    return isManagerAvailable(state.options);\n  },\n  close(): void {\n    if (state.handle === null) return;\n    closeManager(state.handle, state.options);\n    state.handle = null;\n  },\n  getServiceNames(): string[] {\n    return getServiceNames(handle(), state.options);\n  },\n  getServiceInfo(name: string): ServiceInfo {\n    return getServiceInfo(handle(), name, state.options);\n  },\n  getServiceSchema(name: string): ServiceSchema {\n    return getServiceSchema(handle(), name, state.options);\n  },\n  getServiceFunctionSchema(serviceName: string, functionName: string): ServiceFunctionSchema {\n    return getServiceFunctionSchema(handle(), serviceName, functionName, state.options);\n  },\n  getServiceEventSchema(serviceName: string, eventName: string): ServiceEventSchema {\n    return getServiceEventSchema(handle(), serviceName, eventName, state.options);\n  },\n};\n\nexport default manager;\n"],"mappings":";;AAmBA,MAAa,uBAAuB;AAEpC,MAAa,oBAAoB;CAC/B,iBAAiB;CACjB,gBAAgB;CAChB,kBAAkB;CAClB,0BAA0B;CAC1B,uBAAuB;AACzB;AAKA,SAAgB,mBAAmB,SAAyC;CAC1E,OAAO,mBAAmB,sBAAsB,OAAO;AACzD;AAEA,SAAgB,YAAY,SAA+C;CACzE,OAAO,YAAY,sBAAsB,OAAO;AAClD;AAEA,SAAgB,aAAa,QAAuB,SAAsC;CACxF,aAAa,QAAQ,OAAO;AAC9B;AAEA,SAAgB,gBAAgB,QAAuB,SAA0C;CAC/F,OAAO,oBACL,YAAY,OAAO,GACnB,QACA,kBAAkB,iBAClB,CAAC,CACH;AACF;AAEA,SAAgB,eACd,QACA,MACA,SACa;CACb,OAAO,oBACL,YAAY,OAAO,GACnB,QACA,kBAAkB,gBAClB,EAAE,MAAM,KAAK,CACf;AACF;AAEA,SAAgB,iBACd,QACA,MACA,SACe;CACf,OAAO,oBACL,YAAY,OAAO,GACnB,QACA,kBAAkB,kBAClB,EAAE,MAAM,KAAK,CACf;AACF;AAEA,SAAgB,yBACd,QACA,aACA,cACA,SACuB;CACvB,OAAO,oBACL,YAAY,OAAO,GACnB,QACA,kBAAkB,0BAClB;EAAE,aAAa;EAAa,cAAc;CAAa,CACzD;AACF;AAEA,SAAgB,sBACd,QACA,aACA,WACA,SACoB;CACpB,OAAO,oBACL,YAAY,OAAO,GACnB,QACA,kBAAkB,uBAClB;EAAE,aAAa;EAAa,WAAW;CAAU,CACnD;AACF;;;ACjFA,MAAM,QAAe;CAAE,QAAQ;CAAM,SAAS,CAAC;AAAE;AAEjD,SAAS,SAAwB;CAC/B,IAAI,MAAM,WAAW,MAAM,OAAO,MAAM;CACxC,IAAI,CAAC,mBAAmB,MAAM,OAAO,GAAG,MAAM,IAAI,MAAM,kCAAkC;CAC1F,MAAM,SAAS,YAAY,MAAM,OAAO;CACxC,OAAO,MAAM;AACf;AAEA,SAAgB,UAAU,SAAqC;CAC7D,IAAI,MAAM,WAAW,MAAM,aAAa,MAAM,QAAQ,MAAM,OAAO;CACnE,MAAM,SAAS;CACf,MAAM,UAAU;AAClB;AAEA,MAAM,UAAU;CACd,YAAqB;EACnB,OAAO,mBAAmB,MAAM,OAAO;CACzC;CACA,QAAc;EACZ,IAAI,MAAM,WAAW,MAAM;EAC3B,aAAa,MAAM,QAAQ,MAAM,OAAO;EACxC,MAAM,SAAS;CACjB;CACA,kBAA4B;EAC1B,OAAO,gBAAgB,OAAO,GAAG,MAAM,OAAO;CAChD;CACA,eAAe,MAA2B;EACxC,OAAO,eAAe,OAAO,GAAG,MAAM,MAAM,OAAO;CACrD;CACA,iBAAiB,MAA6B;EAC5C,OAAO,iBAAiB,OAAO,GAAG,MAAM,MAAM,OAAO;CACvD;CACA,yBAAyB,aAAqB,cAA6C;EACzF,OAAO,yBAAyB,OAAO,GAAG,aAAa,cAAc,MAAM,OAAO;CACpF;CACA,sBAAsB,aAAqB,WAAuC;EAChF,OAAO,sBAAsB,OAAO,GAAG,aAAa,WAAW,MAAM,OAAO;CAC9E;AACF"}