{
  "version": 3,
  "sources": ["../src/client.ts"],
  "sourcesContent": ["import type { StandardSchemaV1 } from '@standard-schema/spec'\nimport type { InferProtocol, RouteOutput, ClientOptions, RouterClient } from './types.js'\nimport type { Capability } from './capability.js'\n\nexport function createClient<\n  T extends InferProtocol<Record<string, RouteOutput<Capability<StandardSchemaV1>, unknown>>>\n> (options:ClientOptions):RouterClient<T> {\n    const { url, capabilities } = options\n\n    // Create a map of capabilities by their `cmd` property\n    const capabilityMap = Object.fromEntries(\n        capabilities.map((cap) => [cap.cmd, cap])\n    )\n    return {\n        request: async (cmd:string, args:any) => {\n            const capability = capabilityMap[cmd]\n\n            if (!capability) {\n                throw new Error(`Capability not found: ${cmd}`)\n            }\n\n            const inv = await capability.invoke({\n                args,\n                iss: options.issuer,\n                sub: options.audience.did,\n                store: options.store,\n                exp: null,\n            })\n\n            const response = await fetch(url, {\n                method: 'POST',\n                body: inv.bytes as BufferSource,\n            })\n            return response.json()\n        },\n    }\n}\n"],
  "mappings": "4dAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,kBAAAE,IAAA,eAAAC,EAAAH,GAIO,SAASI,EAEbC,EAAuC,CACtC,KAAM,CAAE,IAAAC,EAAK,aAAAC,CAAa,EAAIF,EAGxBG,EAAgB,OAAO,YACzBD,EAAa,IAAKE,GAAQ,CAACA,EAAI,IAAKA,CAAG,CAAC,CAC5C,EACA,MAAO,CACH,QAASC,EAAA,MAAOC,EAAYC,IAAa,CACrC,MAAMC,EAAaL,EAAcG,CAAG,EAEpC,GAAI,CAACE,EACD,MAAM,IAAI,MAAM,yBAAyBF,CAAG,EAAE,EAGlD,MAAMG,EAAM,MAAMD,EAAW,OAAO,CAChC,KAAAD,EACA,IAAKP,EAAQ,OACb,IAAKA,EAAQ,SAAS,IACtB,MAAOA,EAAQ,MACf,IAAK,IACT,CAAC,EAMD,OAJiB,MAAM,MAAMC,EAAK,CAC9B,OAAQ,OACR,KAAMQ,EAAI,KACd,CAAC,GACe,KAAK,CACzB,EApBS,UAqBb,CACJ,CAhCgBJ,EAAAN,EAAA",
  "names": ["client_exports", "__export", "createClient", "__toCommonJS", "createClient", "options", "url", "capabilities", "capabilityMap", "cap", "__name", "cmd", "args", "capability", "inv"]
}
