emuhealth 0.6.0 → 0.7.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.
Files changed (106) hide show
  1. package/README.md +15 -0
  2. package/dist/api.d.ts +1 -1
  3. package/dist/api.js +378 -23
  4. package/dist/api.js.map +1 -1
  5. package/dist/{chunk-5PAJ6LLN.js → chunk-N3OXS25N.js} +379 -24
  6. package/dist/chunk-N3OXS25N.js.map +1 -0
  7. package/dist/{dist-65JH5Z2J.js → dist-2AQ4NEIG.js} +26 -6
  8. package/dist/dist-2AQ4NEIG.js.map +1 -0
  9. package/dist/{dist-UKXOY2NR.js → dist-2EW6JQLR.js} +3 -1
  10. package/dist/dist-2EW6JQLR.js.map +1 -0
  11. package/dist/dist-2YZQBLX2.js +2605 -0
  12. package/dist/dist-2YZQBLX2.js.map +1 -0
  13. package/dist/dist-6GBOXHHG.js +2479 -0
  14. package/dist/dist-6GBOXHHG.js.map +1 -0
  15. package/dist/dist-BGTZW3FR.js +2170 -0
  16. package/dist/dist-BGTZW3FR.js.map +1 -0
  17. package/dist/dist-CKAIZSL3.js +6372 -0
  18. package/dist/dist-CKAIZSL3.js.map +1 -0
  19. package/dist/{dist-IJ7LRDHX.js → dist-CUGOQPIQ.js} +3 -1
  20. package/dist/{dist-IJ7LRDHX.js.map → dist-CUGOQPIQ.js.map} +1 -1
  21. package/dist/{dist-WRDU25DF.js → dist-DGVBWEYK.js} +3 -1
  22. package/dist/dist-DGVBWEYK.js.map +1 -0
  23. package/dist/dist-F4OEZZBR.js +2656 -0
  24. package/dist/dist-F4OEZZBR.js.map +1 -0
  25. package/dist/dist-G4ZKPBOD.js +5618 -0
  26. package/dist/dist-G4ZKPBOD.js.map +1 -0
  27. package/dist/dist-GRGMAU6B.js +5852 -0
  28. package/dist/dist-GRGMAU6B.js.map +1 -0
  29. package/dist/{dist-6TPEFTAK.js → dist-HR2HAQAU.js} +3 -1
  30. package/dist/dist-HR2HAQAU.js.map +1 -0
  31. package/dist/{dist-JJIQYFJ4.js → dist-ID2YPHQQ.js} +102 -66
  32. package/dist/dist-ID2YPHQQ.js.map +1 -0
  33. package/dist/dist-ID3HOBV6.js +2724 -0
  34. package/dist/dist-ID3HOBV6.js.map +1 -0
  35. package/dist/dist-IMZOZNB5.js +2626 -0
  36. package/dist/dist-IMZOZNB5.js.map +1 -0
  37. package/dist/dist-LHSWVR7A.js +2235 -0
  38. package/dist/dist-LHSWVR7A.js.map +1 -0
  39. package/dist/{dist-KQGIGONJ.js → dist-LIZK46HR.js} +3 -1
  40. package/dist/dist-LIZK46HR.js.map +1 -0
  41. package/dist/{dist-WDXPM6L6.js → dist-LZGD67E4.js} +3 -1
  42. package/dist/dist-LZGD67E4.js.map +1 -0
  43. package/dist/{dist-6OM56NLC.js → dist-M67TDUXQ.js} +3 -1
  44. package/dist/dist-M67TDUXQ.js.map +1 -0
  45. package/dist/{dist-4CPLP2NQ.js → dist-MZT7NDSQ.js} +3 -1
  46. package/dist/dist-MZT7NDSQ.js.map +1 -0
  47. package/dist/dist-NIYFNDR5.js +2224 -0
  48. package/dist/dist-NIYFNDR5.js.map +1 -0
  49. package/dist/dist-NZYMC7MC.js +6894 -0
  50. package/dist/dist-NZYMC7MC.js.map +1 -0
  51. package/dist/dist-OXKMJ5KL.js +5475 -0
  52. package/dist/dist-OXKMJ5KL.js.map +1 -0
  53. package/dist/{dist-CLJBPXNS.js → dist-P6AKEZX2.js} +3 -1
  54. package/dist/dist-P6AKEZX2.js.map +1 -0
  55. package/dist/{dist-QUEHZ2IC.js → dist-R5KFITO6.js} +3 -1
  56. package/dist/dist-R5KFITO6.js.map +1 -0
  57. package/dist/{dist-TOCHFEDO.js → dist-RQOZSYQG.js} +9 -2
  58. package/dist/dist-RQOZSYQG.js.map +1 -0
  59. package/dist/{dist-MRCWT2JC.js → dist-RSDUQY6D.js} +3 -1
  60. package/dist/dist-RSDUQY6D.js.map +1 -0
  61. package/dist/{dist-RWIGUWMG.js → dist-S5QMZUHL.js} +3 -1
  62. package/dist/dist-S5QMZUHL.js.map +1 -0
  63. package/dist/{dist-AZA2TRAN.js → dist-SYNUHPGD.js} +3 -1
  64. package/dist/dist-SYNUHPGD.js.map +1 -0
  65. package/dist/{dist-HUDK42DK.js → dist-U4GQRGQO.js} +3 -1
  66. package/dist/dist-U4GQRGQO.js.map +1 -0
  67. package/dist/{dist-DWUKLYZG.js → dist-VWE6VC5Q.js} +3 -1
  68. package/dist/dist-VWE6VC5Q.js.map +1 -0
  69. package/dist/{dist-UFXXFP3R.js → dist-WQ3WATIG.js} +3 -1
  70. package/dist/dist-WQ3WATIG.js.map +1 -0
  71. package/dist/dist-WSHMJF6J.js +6403 -0
  72. package/dist/dist-WSHMJF6J.js.map +1 -0
  73. package/dist/dist-YC3GSNFQ.js +6545 -0
  74. package/dist/dist-YC3GSNFQ.js.map +1 -0
  75. package/dist/{dist-DVBHDPLP.js → dist-YUXZ2AZV.js} +3 -1
  76. package/dist/dist-YUXZ2AZV.js.map +1 -0
  77. package/dist/{dist-JAQBQLBJ.js → dist-YYYAIE7M.js} +3 -1
  78. package/dist/dist-YYYAIE7M.js.map +1 -0
  79. package/dist/{dist-MD4P4BXL.js → dist-ZTZM5RRL.js} +3 -1
  80. package/dist/dist-ZTZM5RRL.js.map +1 -0
  81. package/dist/index.js +109 -2
  82. package/dist/index.js.map +1 -1
  83. package/dist/project-worker.js +1 -1
  84. package/package.json +29 -14
  85. package/dist/chunk-5PAJ6LLN.js.map +0 -1
  86. package/dist/dist-4CPLP2NQ.js.map +0 -1
  87. package/dist/dist-65JH5Z2J.js.map +0 -1
  88. package/dist/dist-6OM56NLC.js.map +0 -1
  89. package/dist/dist-6TPEFTAK.js.map +0 -1
  90. package/dist/dist-AZA2TRAN.js.map +0 -1
  91. package/dist/dist-CLJBPXNS.js.map +0 -1
  92. package/dist/dist-DVBHDPLP.js.map +0 -1
  93. package/dist/dist-DWUKLYZG.js.map +0 -1
  94. package/dist/dist-HUDK42DK.js.map +0 -1
  95. package/dist/dist-JAQBQLBJ.js.map +0 -1
  96. package/dist/dist-JJIQYFJ4.js.map +0 -1
  97. package/dist/dist-KQGIGONJ.js.map +0 -1
  98. package/dist/dist-MD4P4BXL.js.map +0 -1
  99. package/dist/dist-MRCWT2JC.js.map +0 -1
  100. package/dist/dist-QUEHZ2IC.js.map +0 -1
  101. package/dist/dist-RWIGUWMG.js.map +0 -1
  102. package/dist/dist-TOCHFEDO.js.map +0 -1
  103. package/dist/dist-UFXXFP3R.js.map +0 -1
  104. package/dist/dist-UKXOY2NR.js.map +0 -1
  105. package/dist/dist-WDXPM6L6.js.map +0 -1
  106. package/dist/dist-WRDU25DF.js.map +0 -1
package/README.md CHANGED
@@ -46,6 +46,21 @@ Health and life science services use a fixed range starting at `http://localhost
46
46
  - **NPPES NPI Registry** on `http://localhost:4106` (`/api/?version=2.1` with `number`, `enumeration_type`, names and organization names with `*` wildcards, `taxonomy_description`, `city`, `state`, `postal_code`, `limit`, and `skip`, and the registry's `Errors` responses; synthetic providers whose NPIs have valid check digits but start with 0, so they never match a real provider; browse them at `/_inspector`)
47
47
  - **Benchling** on `http://localhost:4107` (API v2 under `/api/v2` with an API key as the Basic auth username or a client credentials token: DNA and AA sequences with filters, `nextToken` paging, create, update, archive, and registration through `registries/{id}:register-entities` and `tasks`, notebook `entries`, `assay-results` with schemas, `events`, and Svix-signed webhooks; a synthetic tenant; browse it at `/_inspector`)
48
48
  - **REDCap** on `http://localhost:4108` (`POST /api/` with a token and `content`: `version`, `project`, `metadata`, `instrument`, `exportFieldNames`, and `record` export with `records`, `fields`, `forms`, `filterLogic`, labels, and flat or EAV output, import with validation against the data dictionary, and delete, in JSON, CSV, or XML; a synthetic project; browse it at `/_inspector`)
49
+ - **Oracle Health (Cerner)** on `http://localhost:4109` (the FHIR R4 server under the Millennium tenant path `/r4/5e7e0000-0000-4000-8000-000000000001`, provider and patient persona OAuth endpoints under `/tenants/{tenant}/protocols/oauth2/profiles/smart-v1`, system accounts with `client_credentials` and a client secret, `tenant` and `username` in token responses, and Millennium's required search parameters)
50
+ - **athenahealth** on `http://localhost:4110` (OAuth client credentials at `/oauth2/v1/token`, the proprietary REST API under `/v1/{practiceid}` for departments, providers, patients, chart problems, allergies, medications, and vitals, and open and booked appointments with booking and cancellation, plus FHIR R4 under `/fhir/r4` with `ah-practice`, all over the same synthetic records)
51
+ - **CMS Blue Button 2.0** on `http://localhost:4111` (patient access OAuth at `/v2/o/authorize/` and `/v2/o/token/` with a beneficiary picker, `/v2/connect/userinfo`, and the read-only FHIR R4 API at `/v2/fhir` with Patient, Coverage for Parts A, B, and D, and ExplanationOfBenefit claims for synthetic Medicare beneficiaries)
52
+ - **CDS Hooks** on `http://localhost:4112` (a simulated EHR that reads your CDS service's discovery document and fires `patient-view`, `order-sign`, `order-select`, or `encounter-start` with a signed JWT, context, prefetch, and a FHIR token from its own synthetic FHIR server, then checks the cards against the CDS Hooks rules; plus sample CDS services at `/cds-services`; fire hooks from `/_inspector`)
53
+ - **Redox** on `http://localhost:4113` (API key and OAuth authentication, `POST /endpoint` for Redox JSON data models such as PatientSearch, ClinicalSummary, PatientAdmin, Scheduling, and Results with Redox's `Meta.Errors`, and EHR events delivered to your destinations with the `verification-token` header and Redox's challenge handshake, over synthetic records)
54
+ - **AWS HealthLake** on `http://localhost:4114` (the HealthLake control plane for FHIR datastores and import and export jobs, and a FHIR R4 data plane per datastore at `/datastore/{id}/r4`, with real SigV4 signature checks so the AWS SDKs and CLI work against it; starts with one datastore preloaded with synthetic data)
55
+ - **Google Cloud Healthcare API** on `http://localhost:4115` (datasets and FHIR stores under `/v1/projects/{project}/locations/{location}`, with long-running operations and Google error shapes, and a FHIR R4 API per store that honors `enableUpdateCreate`; starts with a preloaded synthetic FHIR store)
56
+ - **Azure Health Data Services** on `http://localhost:4116` (FHIR services per workspace at `/{workspace}-{fhirservice}`, each a full FHIR R4 server, behind Entra ID Bearer tokens that are verified against the emuhealth Microsoft emulator, or any issuer, when `azurehealth.entra` is set; starts with `synthetic-fhir`, preloaded)
57
+ - **Stedi** on `http://localhost:4117` (the 2024-04-01 JSON clearinghouse APIs: eligibility (270/271) with 271-style benefits, professional claims (837P) that are adjudicated at once, claim status (276/277), 835 ERA reports, transactions, and payers, with synthetic payers and members)
58
+ - **Availity** on `http://localhost:4118` (OAuth client credentials, the payer list and configurations, asynchronous Coverages (270/271) and Claim Statuses (276/277) that you poll until `statusCode` 4, Service Reviews (278), and the Demo plan's `X-Api-Mock-Scenario-ID` scenarios, with synthetic payers, members, and claims)
59
+ - **Dexcom** on `http://localhost:4119` (OAuth 2.0 at `/v2/oauth2/login` and `/v2/oauth2/token`, and API v3 estimated glucose values every 5 minutes, events, devices, alerts, calibrations, and data range for synthetic G7 users)
60
+ - **Fitbit** on `http://localhost:4120` (OAuth 2.0 with a consent page, and the Web API for profile, daily activity and time series, heart rate with intraday data, sleep stages, and weight, with Fitbit's scopes, error envelope, and rate limit headers, for synthetic users)
61
+ - **Oura** on `http://localhost:4121` (OAuth 2.0 with a consent page, and API v2 `/v2/usercollection` documents: personal info, daily sleep, activity, readiness, and SpO2 with contributors and scores, sleep periods, and heart rate, with `next_token` paging and scope checks, for synthetic users)
62
+ - **Withings** on `http://localhost:4122` (OAuth 2.0 with a consent page and `requesttoken`, Measure `getmeas` for weight, blood pressure, heart pulse, and SpO2, `getactivity`, Sleep `getsummary`, `getdevice`, and Notify subscriptions that call your callback URL, with Withings' status codes in HTTP 200 responses, for synthetic users)
63
+ - **Terra** on `http://localhost:4123` (widget sessions and a connect page that link synthetic users to providers such as Fitbit, Oura, Withings, and Dexcom, normalized daily, sleep, activity, and body data returned inline or sent to your webhook, and `terra-signature` signed auth, deauth, and data events)
49
64
 
50
65
  Stripe webhooks configured with a secret include a `Stripe-Signature` header signed over the timestamp and raw request body.
51
66
 
package/dist/api.d.ts CHANGED
@@ -249,7 +249,7 @@ declare function defineConfig<Definitions extends Record<string, EmulatorDefinit
249
249
  tokens?: EmulateConfig["tokens"];
250
250
  }): typeof config;
251
251
 
252
- declare const HEALTH_SERVICE_NAME_LIST: readonly ["fhir", "epic", "openfda", "rxnav", "clinicaltrials", "ncbi", "nppes", "benchling", "redcap"];
252
+ declare const HEALTH_SERVICE_NAME_LIST: readonly ["fhir", "epic", "openfda", "rxnav", "clinicaltrials", "ncbi", "nppes", "benchling", "redcap", "cerner", "athena", "bluebutton", "cdshooks", "redox", "healthlake", "gcphealthcare", "azurehealth", "stedi", "availity", "dexcom", "fitbit", "oura", "withings", "terra"];
253
253
  type HealthServiceName = (typeof HEALTH_SERVICE_NAME_LIST)[number];
254
254
 
255
255
  declare const SERVICE_NAME_LIST: readonly ["vercel", "github", "google", "slack", "apple", "microsoft", "okta", "aws", "resend", "stripe", "mongoatlas", "clerk", "linear", "twilio"];
package/dist/api.js CHANGED
@@ -984,6 +984,8 @@ var CSS = `
984
984
  .inspector-detail summary{cursor:pointer;overflow-wrap:anywhere}
985
985
  .inspector-action{display:inline-block;margin-top:12px;padding:8px 12px;border:1px solid #0a3300;border-radius:6px;background:#001a00;color:#33ff00;font:inherit;font-size:.8125rem;cursor:pointer}
986
986
  .inspector-action:hover{background:#0a3300}
987
+ .inspector-field{display:block;margin-top:12px;font-size:.8125rem;color:#1a8c00}
988
+ .inspector-field input,.inspector-field select{display:block;width:100%;margin-top:4px;padding:8px 10px;border:1px solid #0a3300;border-radius:6px;background:#000;color:#33ff00;font:inherit;font-size:.8125rem}
987
989
  .inspector-scroll{overflow-x:auto}
988
990
  @font-face{
989
991
  font-family:'Geist';font-style:normal;font-weight:100 900;font-display:swap;
@@ -1951,7 +1953,22 @@ var HEALTH_SERVICE_NAME_LIST = [
1951
1953
  "ncbi",
1952
1954
  "nppes",
1953
1955
  "benchling",
1954
- "redcap"
1956
+ "redcap",
1957
+ "cerner",
1958
+ "athena",
1959
+ "bluebutton",
1960
+ "cdshooks",
1961
+ "redox",
1962
+ "healthlake",
1963
+ "gcphealthcare",
1964
+ "azurehealth",
1965
+ "stedi",
1966
+ "availity",
1967
+ "dexcom",
1968
+ "fitbit",
1969
+ "oura",
1970
+ "withings",
1971
+ "terra"
1955
1972
  ];
1956
1973
  var HEALTH_SERVICE_NAMES = HEALTH_SERVICE_NAME_LIST;
1957
1974
  var HEALTH_SERVICE_REGISTRY = {
@@ -1959,7 +1976,7 @@ var HEALTH_SERVICE_REGISTRY = {
1959
1976
  label: "FHIR R4 server emulator",
1960
1977
  endpoints: "create, read, vread, update (including create on update), JSON Patch, logical delete, _history, search with includes and chaining, batch and transaction Bundles, CapabilityStatement at /metadata, Patient/$everything, Bulk Data $export, SMART App Launch and Backend Services, ETag and If-Match, generated synthetic patients, terminology $lookup and $validate-code, inspector at /_inspector",
1961
1978
  async load() {
1962
- const mod = await import("./dist-JJIQYFJ4.js");
1979
+ const mod = await import("./dist-GRGMAU6B.js");
1963
1980
  return { plugin: mod.fhirPlugin, seedFromConfig: mod.seedFromConfig };
1964
1981
  },
1965
1982
  defaultFallback() {
@@ -1984,7 +2001,7 @@ var HEALTH_SERVICE_REGISTRY = {
1984
2001
  label: "Epic FHIR R4 emulator",
1985
2002
  endpoints: "Epic URL shape (/api/FHIR/R4) over the full FHIR server, OAuth 2.0 at /oauth2/authorize and /oauth2/token with SMART App Launch and Backend Services, __epic.dstu2.patient in token responses, informational OperationOutcome (4101) on empty searches, Schedules and Slots with Appointment/$find and Appointment/$book, generated synthetic patients, inspector at /_inspector",
1986
2003
  async load() {
1987
- const mod = await import("./dist-65JH5Z2J.js");
2004
+ const mod = await import("./dist-2AQ4NEIG.js");
1988
2005
  return { plugin: mod.epicPlugin, seedFromConfig: mod.seedFromConfig };
1989
2006
  },
1990
2007
  defaultFallback() {
@@ -2002,7 +2019,7 @@ var HEALTH_SERVICE_REGISTRY = {
2002
2019
  label: "openFDA API emulator",
2003
2020
  endpoints: "drug labels (/drug/label.json), adverse event reports (/drug/event.json), and recalls (/drug/enforcement.json, /device/enforcement.json, /food/enforcement.json) with the openFDA query language (search, sort, count, limit, skip), synthetic datasets, inspector at /_inspector",
2004
2021
  async load() {
2005
- const mod = await import("./dist-WRDU25DF.js");
2022
+ const mod = await import("./dist-DGVBWEYK.js");
2006
2023
  return { plugin: mod.openfdaPlugin, seedFromConfig: mod.seedFromConfig };
2007
2024
  },
2008
2025
  defaultFallback() {
@@ -2018,7 +2035,7 @@ var HEALTH_SERVICE_REGISTRY = {
2018
2035
  label: "NLM RxNav (RxNorm API) emulator",
2019
2036
  endpoints: "RxNorm REST API under /REST: rxcui by name, drugs, properties, related and allrelated concepts, ndcs, approximateTerm, spellingsuggestions, displaynames, with or without .json; built-in RxNorm subset plus configured concepts; inspector at /_inspector",
2020
2037
  async load() {
2021
- const mod = await import("./dist-HUDK42DK.js");
2038
+ const mod = await import("./dist-U4GQRGQO.js");
2022
2039
  return { plugin: mod.rxnavPlugin, seedFromConfig: mod.seedFromConfig };
2023
2040
  },
2024
2041
  defaultFallback() {
@@ -2040,7 +2057,7 @@ var HEALTH_SERVICE_REGISTRY = {
2040
2057
  label: "ClinicalTrials.gov API v2 emulator",
2041
2058
  endpoints: "ClinicalTrials.gov API v2 under /api/v2: studies search (query.cond, query.term, query.intr, query.titles, query.locn, query.spons, query.id, filter.overallStatus, filter.ids, filter.advanced AREA[], sort, fields, pageSize, pageToken, countTotal), single studies, version, stats/size; synthetic studies in the NCT99 range; inspector at /_inspector",
2042
2059
  async load() {
2043
- const mod = await import("./dist-MRCWT2JC.js");
2060
+ const mod = await import("./dist-RSDUQY6D.js");
2044
2061
  return { plugin: mod.clinicaltrialsPlugin, seedFromConfig: mod.seedFromConfig };
2045
2062
  },
2046
2063
  defaultFallback() {
@@ -2059,7 +2076,7 @@ var HEALTH_SERVICE_REGISTRY = {
2059
2076
  label: "NCBI E-utilities emulator (PubMed and Gene)",
2060
2077
  endpoints: "E-utilities under /entrez/eutils: einfo, esearch (field tags, AND/OR/NOT, [dp] ranges, retstart/retmax, usehistory WebEnv), esummary, efetch (PubMed XML and abstract text), elink (gene and pubmed), GET or POST, JSON or XML; synthetic PubMed articles and real human genes; inspector at /_inspector",
2061
2078
  async load() {
2062
- const mod = await import("./dist-MD4P4BXL.js");
2079
+ const mod = await import("./dist-ZTZM5RRL.js");
2063
2080
  return { plugin: mod.ncbiPlugin, seedFromConfig: mod.seedFromConfig };
2064
2081
  },
2065
2082
  defaultFallback() {
@@ -2078,7 +2095,7 @@ var HEALTH_SERVICE_REGISTRY = {
2078
2095
  label: "NPPES NPI Registry API emulator",
2079
2096
  endpoints: "NPI Registry API at /api/?version=2.1: number, enumeration_type, first_name, last_name, organization_name (trailing * wildcards), taxonomy_description, address_purpose, city, state, postal_code, country_code, limit (max 200), skip; the registry's Errors shapes; synthetic providers with NPIs that start with 0; inspector at /_inspector",
2080
2097
  async load() {
2081
- const mod = await import("./dist-WDXPM6L6.js");
2098
+ const mod = await import("./dist-LZGD67E4.js");
2082
2099
  return { plugin: mod.nppesPlugin, seedFromConfig: mod.seedFromConfig };
2083
2100
  },
2084
2101
  defaultFallback() {
@@ -2098,7 +2115,7 @@ var HEALTH_SERVICE_REGISTRY = {
2098
2115
  label: "Benchling API v2 emulator",
2099
2116
  endpoints: "Benchling API v2 under /api/v2 with API key (Basic) or client credentials (Bearer) auth: dna-sequences and aa-sequences (list, filter, page, create, update, archive), entries, registries and register-entities with tasks, assay-results and schemas, projects, folders, events, Svix-signed webhooks; synthetic tenant; inspector at /_inspector",
2100
2117
  async load() {
2101
- const mod = await import("./dist-JAQBQLBJ.js");
2118
+ const mod = await import("./dist-YYYAIE7M.js");
2102
2119
  return { plugin: mod.benchlingPlugin, seedFromConfig: mod.seedFromConfig };
2103
2120
  },
2104
2121
  defaultFallback() {
@@ -2118,7 +2135,7 @@ var HEALTH_SERVICE_REGISTRY = {
2118
2135
  label: "REDCap API emulator",
2119
2136
  endpoints: "REDCap API at POST /api/ with token and content: version, project, metadata, instrument, exportFieldNames, record export (records, fields, forms, filterLogic, rawOrLabel, flat or eav), record import (json or csv, overwriteBehavior, forceAutoNumber, returnContent), record delete, generateNextRecordName; json, csv, or xml; synthetic classic project; inspector at /_inspector",
2120
2137
  async load() {
2121
- const mod = await import("./dist-CLJBPXNS.js");
2138
+ const mod = await import("./dist-P6AKEZX2.js");
2122
2139
  return { plugin: mod.redcapPlugin, seedFromConfig: mod.seedFromConfig };
2123
2140
  },
2124
2141
  defaultFallback() {
@@ -2132,6 +2149,344 @@ var HEALTH_SERVICE_REGISTRY = {
2132
2149
  }
2133
2150
  }
2134
2151
  }
2152
+ },
2153
+ cerner: {
2154
+ label: "Oracle Health (Cerner) Millennium FHIR R4 emulator",
2155
+ endpoints: "Millennium tenant URL shape (/r4/{tenant}) over the full FHIR server, persona OAuth endpoints under /tenants/{tenant}/protocols/oauth2/profiles/smart-v1, system accounts with client_credentials and a client secret, tenant and username in token responses, Millennium's required search parameters, generated synthetic patients, inspector at /_inspector",
2156
+ async load() {
2157
+ const mod = await import("./dist-ID2YPHQQ.js");
2158
+ return { plugin: mod.cernerPlugin, seedFromConfig: mod.seedFromConfig };
2159
+ },
2160
+ defaultFallback() {
2161
+ return { login: "cerner-user", id: 1, scopes: [] };
2162
+ },
2163
+ initConfig: {
2164
+ cerner: {
2165
+ generate: {
2166
+ patients: 5,
2167
+ seed: 1
2168
+ },
2169
+ smart: {
2170
+ clients: [
2171
+ {
2172
+ client_id: "my-millennium-app",
2173
+ redirect_uris: ["http://localhost:3000/callback"]
2174
+ }
2175
+ ]
2176
+ }
2177
+ }
2178
+ }
2179
+ },
2180
+ athena: {
2181
+ label: "athenahealth API emulator",
2182
+ endpoints: "OAuth client credentials at /oauth2/v1/token; proprietary REST under /v1/{practiceid}: departments, providers, patients (search, read, create), chart problems, allergies, medications, vitals, appointments open, booked, book, cancel, with offset and limit paging; FHIR R4 under /fhir/r4 with ah-practice; synthetic records; inspector at /_inspector",
2183
+ async load() {
2184
+ const mod = await import("./dist-G4ZKPBOD.js");
2185
+ return { plugin: mod.athenaPlugin, seedFromConfig: mod.seedFromConfig };
2186
+ },
2187
+ defaultFallback() {
2188
+ return { login: "athena-user", id: 1, scopes: [] };
2189
+ },
2190
+ initConfig: {
2191
+ athena: {
2192
+ practiceIds: ["195900"],
2193
+ generate: {
2194
+ patients: 5,
2195
+ seed: 1
2196
+ },
2197
+ scheduling: {
2198
+ days: 10
2199
+ }
2200
+ }
2201
+ }
2202
+ },
2203
+ bluebutton: {
2204
+ label: "CMS Blue Button 2.0 emulator",
2205
+ endpoints: "Patient access OAuth at /v2/o/authorize/ and /v2/o/token/ with a beneficiary picker, /v2/connect/userinfo, FHIR R4 at /v2/fhir with Patient (synthetic MBIs), Coverage (Parts A, B, D), and ExplanationOfBenefit (carrier and Part D claims), read-only and token-only; synthetic beneficiaries",
2206
+ async load() {
2207
+ const mod = await import("./dist-OXKMJ5KL.js");
2208
+ return { plugin: mod.bluebuttonPlugin, seedFromConfig: mod.seedFromConfig };
2209
+ },
2210
+ defaultFallback() {
2211
+ return { login: "bluebutton-user", id: 1, scopes: [] };
2212
+ },
2213
+ initConfig: {
2214
+ bluebutton: {
2215
+ generate: {
2216
+ patients: 5,
2217
+ seed: 1
2218
+ },
2219
+ smart: {
2220
+ clients: [
2221
+ {
2222
+ client_id: "my-blue-button-app",
2223
+ redirect_uris: ["http://localhost:3000/callback"]
2224
+ }
2225
+ ]
2226
+ }
2227
+ }
2228
+ }
2229
+ },
2230
+ cdshooks: {
2231
+ label: "CDS Hooks emulator (simulated EHR and sample services)",
2232
+ endpoints: "Simulated EHR: POST /ehr/fire reads your CDS service discovery and fires patient-view, order-sign, order-select, or encounter-start with a signed JWT (JWKS at /.well-known/jwks.json), context, prefetch, and fhirAuthorization from its FHIR server at /fhir, then validates the cards; GET /ehr/invocations; sample CDS services at /cds-services (patient-greeting, allergy-check) with feedback; inspector form at /_inspector",
2233
+ async load() {
2234
+ const mod = await import("./dist-YC3GSNFQ.js");
2235
+ return { plugin: mod.cdshooksPlugin, seedFromConfig: mod.seedFromConfig };
2236
+ },
2237
+ defaultFallback() {
2238
+ return { login: "cdshooks-user", id: 1, scopes: [] };
2239
+ },
2240
+ initConfig: {
2241
+ cdshooks: {
2242
+ services: ["http://localhost:3000/cds-services"]
2243
+ }
2244
+ }
2245
+ },
2246
+ redox: {
2247
+ label: "Redox API emulator",
2248
+ endpoints: "Authentication (/auth/authenticate, /auth/refreshToken, /v2/auth/token), POST /endpoint for Redox JSON data models (PatientSearch Query, ClinicalSummary PatientQuery, PatientAdmin NewPatient and PatientUpdate, Scheduling New, Reschedule, Cancel, Results, Notes, Media) with Meta.Errors, destination webhooks with the verification-token header, the challenge handshake, and POST /ehr/send to simulate EHR events; synthetic records; inspector at /_inspector",
2249
+ async load() {
2250
+ const mod = await import("./dist-ID3HOBV6.js");
2251
+ return { plugin: mod.redoxPlugin, seedFromConfig: mod.seedFromConfig };
2252
+ },
2253
+ defaultFallback() {
2254
+ return { login: "redox-user", id: 1, scopes: [] };
2255
+ },
2256
+ initConfig: {
2257
+ redox: {
2258
+ destinations: [
2259
+ {
2260
+ url: "http://localhost:3000/redox",
2261
+ verificationToken: "synthetic-verification-token"
2262
+ }
2263
+ ]
2264
+ }
2265
+ }
2266
+ },
2267
+ healthlake: {
2268
+ label: "AWS HealthLake emulator",
2269
+ endpoints: "HealthLake JSON control plane at POST / (X-Amz-Target HealthLake.*: Create, Describe, List, Delete FHIR datastores; Start, Describe, List import and export jobs) and a FHIR R4 data plane per datastore at /datastore/{id}/r4, with SigV4 verification for service healthlake; a default datastore preloaded with synthetic data; inspector at /_inspector",
2270
+ async load() {
2271
+ const mod = await import("./dist-WSHMJF6J.js");
2272
+ return { plugin: mod.healthlakePlugin, seedFromConfig: mod.seedFromConfig };
2273
+ },
2274
+ defaultFallback() {
2275
+ return { login: "healthlake-user", id: 1, scopes: [] };
2276
+ },
2277
+ initConfig: {
2278
+ healthlake: {
2279
+ region: "us-east-1",
2280
+ datastores: [
2281
+ {
2282
+ id: "5e7e0000000000000000000000000001",
2283
+ name: "synthetic",
2284
+ preload: true
2285
+ }
2286
+ ]
2287
+ }
2288
+ }
2289
+ },
2290
+ gcphealthcare: {
2291
+ label: "Google Cloud Healthcare API emulator (FHIR stores)",
2292
+ endpoints: "Cloud Healthcare API v1 under /v1/projects/{project}/locations/{location}: datasets (create as operations, get, list, delete, operations), FHIR stores (create, get, list, patch with updateMask, delete, :export and :import operations), and a FHIR R4 API per store at .../fhirStores/{store}/fhir honoring enableUpdateCreate; any Bearer token; Google JSON errors; inspector at /_inspector",
2293
+ async load() {
2294
+ const mod = await import("./dist-CKAIZSL3.js");
2295
+ return { plugin: mod.gcphealthcarePlugin, seedFromConfig: mod.seedFromConfig };
2296
+ },
2297
+ defaultFallback() {
2298
+ return { login: "gcphealthcare-user", id: 1, scopes: [] };
2299
+ },
2300
+ initConfig: {
2301
+ gcphealthcare: {
2302
+ datasets: [
2303
+ {
2304
+ project: "synthetic-project",
2305
+ location: "us-central1",
2306
+ id: "synthetic-dataset",
2307
+ fhirStores: [
2308
+ {
2309
+ id: "synthetic-fhir-store",
2310
+ enableUpdateCreate: true,
2311
+ preload: true
2312
+ }
2313
+ ]
2314
+ }
2315
+ ]
2316
+ }
2317
+ }
2318
+ },
2319
+ azurehealth: {
2320
+ label: "Azure Health Data Services emulator (FHIR services)",
2321
+ endpoints: "FHIR services per workspace at /{workspace}-{fhirservice} (the path form of {workspace}-{fhirservice}.fhir.azurehealthcareapis.com), each a full FHIR R4 server; Entra ID Bearer tokens required (public metadata), verified against an issuer's JWKS such as the emuhealth Microsoft emulator when azurehealth.entra is set; inspector at /_inspector",
2322
+ async load() {
2323
+ const mod = await import("./dist-NZYMC7MC.js");
2324
+ return { plugin: mod.azurehealthPlugin, seedFromConfig: mod.seedFromConfig };
2325
+ },
2326
+ defaultFallback() {
2327
+ return { login: "azurehealth-user", id: 1, scopes: [] };
2328
+ },
2329
+ initConfig: {
2330
+ azurehealth: {
2331
+ workspaces: [
2332
+ {
2333
+ name: "synthetic",
2334
+ fhirServices: [
2335
+ {
2336
+ name: "fhir",
2337
+ preload: true
2338
+ }
2339
+ ]
2340
+ }
2341
+ ]
2342
+ }
2343
+ }
2344
+ },
2345
+ stedi: {
2346
+ label: "Stedi healthcare clearinghouse emulator",
2347
+ endpoints: "Stedi 2024-04-01 healthcare APIs with an API key: eligibility v3 (270/271), professional claims v3 submission (837P) with immediate adjudication, claim status v2 (276/277), 835 ERA reports by transaction, transactions list, payers; transaction.processed.v2 events to webhooks; synthetic payers and members; inspector at /_inspector",
2348
+ async load() {
2349
+ const mod = await import("./dist-NIYFNDR5.js");
2350
+ return { plugin: mod.stediPlugin, seedFromConfig: mod.seedFromConfig };
2351
+ },
2352
+ defaultFallback() {
2353
+ return { login: "stedi-user", id: 1, scopes: [] };
2354
+ },
2355
+ initConfig: {
2356
+ stedi: {
2357
+ generate: {
2358
+ patients: 5,
2359
+ seed: 1
2360
+ }
2361
+ }
2362
+ }
2363
+ },
2364
+ availity: {
2365
+ label: "Availity API emulator",
2366
+ endpoints: "Availity HIPAA transaction APIs under /availity: OAuth client credentials (/v1/token), availity-payer-list, v1/configurations, asynchronous v1/coverages (270/271) and v1/claim-statuses (276/277) polled until statusCode 4, v2/service-reviews (278) with Location polling, and Demo plan X-Api-Mock-Scenario-ID scenarios; synthetic payers, members, and claims; inspector at /_inspector",
2367
+ async load() {
2368
+ const mod = await import("./dist-BGTZW3FR.js");
2369
+ return { plugin: mod.availityPlugin, seedFromConfig: mod.seedFromConfig };
2370
+ },
2371
+ defaultFallback() {
2372
+ return { login: "availity-user", id: 1, scopes: [] };
2373
+ },
2374
+ initConfig: {
2375
+ availity: {
2376
+ generate: {
2377
+ patients: 5,
2378
+ seed: 1
2379
+ },
2380
+ pollsUntilComplete: 1
2381
+ }
2382
+ }
2383
+ },
2384
+ dexcom: {
2385
+ label: "Dexcom API v3 emulator",
2386
+ endpoints: "OAuth 2.0 at /v2/oauth2/login (consent page with synthetic users) and /v2/oauth2/token; /v3/users/self/egvs (5 minute glucose, 30 day windows), events, devices, alerts, calibrations, dataRange; synthetic G7 users; inspector at /_inspector",
2387
+ async load() {
2388
+ const mod = await import("./dist-6GBOXHHG.js");
2389
+ return { plugin: mod.dexcomPlugin, seedFromConfig: mod.seedFromConfig };
2390
+ },
2391
+ defaultFallback() {
2392
+ return { login: "dexcom-user", id: 1, scopes: [] };
2393
+ },
2394
+ initConfig: {
2395
+ dexcom: {
2396
+ clients: [
2397
+ {
2398
+ client_id: "my-dexcom-app",
2399
+ client_secret: "synthetic-secret",
2400
+ redirect_uris: ["http://localhost:3000/callback"]
2401
+ }
2402
+ ]
2403
+ }
2404
+ }
2405
+ },
2406
+ fitbit: {
2407
+ label: "Fitbit Web API emulator",
2408
+ endpoints: "OAuth 2.0 (/oauth2/authorize consent page, /oauth2/token with Basic auth, /oauth2/revoke); /1/user/-/profile.json, activities/date, activity time series (steps, distance, calories), heart rate with intraday, /1.2 sleep with stages, weight logs; scopes, error envelope, rate limit headers; synthetic users; inspector at /_inspector",
2409
+ async load() {
2410
+ const mod = await import("./dist-F4OEZZBR.js");
2411
+ return { plugin: mod.fitbitPlugin, seedFromConfig: mod.seedFromConfig };
2412
+ },
2413
+ defaultFallback() {
2414
+ return { login: "fitbit-user", id: 1, scopes: [] };
2415
+ },
2416
+ initConfig: {
2417
+ fitbit: {
2418
+ clients: [
2419
+ {
2420
+ client_id: "my-fitbit-app",
2421
+ client_secret: "synthetic-secret",
2422
+ redirect_uris: ["http://localhost:3000/callback"]
2423
+ }
2424
+ ]
2425
+ }
2426
+ }
2427
+ },
2428
+ oura: {
2429
+ label: "Oura API v2 emulator",
2430
+ endpoints: "OAuth 2.0 (/oauth/authorize consent page, /oauth/token); /v2/usercollection personal_info, daily_sleep, daily_activity, daily_readiness, daily_spo2, sleep (periods), heartrate, workout, session, ring_configuration, with start_date and end_date, next_token paging, documents by id, scopes, and {detail} errors; synthetic users; inspector at /_inspector",
2431
+ async load() {
2432
+ const mod = await import("./dist-2YZQBLX2.js");
2433
+ return { plugin: mod.ouraPlugin, seedFromConfig: mod.seedFromConfig };
2434
+ },
2435
+ defaultFallback() {
2436
+ return { login: "oura-user", id: 1, scopes: [] };
2437
+ },
2438
+ initConfig: {
2439
+ oura: {
2440
+ clients: [
2441
+ {
2442
+ client_id: "my-oura-app",
2443
+ client_secret: "synthetic-secret",
2444
+ redirect_uris: ["http://localhost:3000/callback"]
2445
+ }
2446
+ ]
2447
+ }
2448
+ }
2449
+ },
2450
+ withings: {
2451
+ label: "Withings API emulator",
2452
+ endpoints: "OAuth 2.0 (/oauth2_user/authorize2 consent page, /v2/oauth2 action=requesttoken); /measure getmeas (weight, blood pressure, heart pulse, SpO2), /v2/measure getactivity, /v2/sleep getsummary, /v2/user getdevice, /notify subscribe, list, revoke with callbacks; HTTP 200 with status codes; synthetic users; inspector at /_inspector",
2453
+ async load() {
2454
+ const mod = await import("./dist-IMZOZNB5.js");
2455
+ return { plugin: mod.withingsPlugin, seedFromConfig: mod.seedFromConfig };
2456
+ },
2457
+ defaultFallback() {
2458
+ return { login: "withings-user", id: 1, scopes: [] };
2459
+ },
2460
+ initConfig: {
2461
+ withings: {
2462
+ clients: [
2463
+ {
2464
+ client_id: "my-withings-app",
2465
+ client_secret: "synthetic-secret",
2466
+ redirect_uris: ["http://localhost:3000/callback"]
2467
+ }
2468
+ ]
2469
+ }
2470
+ }
2471
+ },
2472
+ terra: {
2473
+ label: "Terra API emulator",
2474
+ endpoints: "dev-id and x-api-key auth; /v2/auth/generateWidgetSession and /v2/auth/authenticateUser with a connect page (provider, then a synthetic account), /v2/auth/deauthenticateUser, /v2/userInfo, /v2/subscriptions; normalized /v2/daily, sleep, activity, body (with glucose for CGM providers) inline (to_webhook=false) or to your webhook signed with terra-signature; inspector at /_inspector",
2475
+ async load() {
2476
+ const mod = await import("./dist-LHSWVR7A.js");
2477
+ return { plugin: mod.terraPlugin, seedFromConfig: mod.seedFromConfig };
2478
+ },
2479
+ defaultFallback() {
2480
+ return { login: "terra-user", id: 1, scopes: [] };
2481
+ },
2482
+ initConfig: {
2483
+ terra: {
2484
+ webhook: {
2485
+ url: "http://localhost:3000/terra/webhook",
2486
+ secret: "synthetic-signing-secret"
2487
+ }
2488
+ }
2489
+ }
2135
2490
  }
2136
2491
  };
2137
2492
  var HEALTH_PORT_OFFSET = 100;
@@ -2164,7 +2519,7 @@ var SERVICE_REGISTRY = {
2164
2519
  label: "Vercel REST API emulator",
2165
2520
  endpoints: "projects, deployments, domains, env vars, users, teams, file uploads, protection bypass, blob storage",
2166
2521
  async load() {
2167
- const mod = await import("./dist-4CPLP2NQ.js");
2522
+ const mod = await import("./dist-MZT7NDSQ.js");
2168
2523
  return { plugin: mod.vercelPlugin, seedFromConfig: mod.seedFromConfig };
2169
2524
  },
2170
2525
  defaultFallback(cfg) {
@@ -2191,7 +2546,7 @@ var SERVICE_REGISTRY = {
2191
2546
  label: "GitHub REST API emulator",
2192
2547
  endpoints: "users, repos, issues, PRs, comments, reviews, labels, milestones, branches, git data, orgs, teams, releases, webhooks, search, actions, checks, rate limit",
2193
2548
  async load() {
2194
- const mod = await import("./dist-RWIGUWMG.js");
2549
+ const mod = await import("./dist-S5QMZUHL.js");
2195
2550
  return {
2196
2551
  plugin: mod.githubPlugin,
2197
2552
  seedFromConfig: mod.seedFromConfig,
@@ -2255,7 +2610,7 @@ var SERVICE_REGISTRY = {
2255
2610
  label: "Google OAuth 2.0 / OpenID Connect + Gmail, Calendar, and Drive emulator",
2256
2611
  endpoints: "OAuth authorize, token exchange, userinfo, RS256 OIDC discovery and JWKS, token revocation, Gmail messages/drafts/threads/labels/history/settings, Calendar discovery/lists/events/freebusy, Drive files/uploads",
2257
2612
  async load() {
2258
- const mod = await import("./dist-IJ7LRDHX.js");
2613
+ const mod = await import("./dist-CUGOQPIQ.js");
2259
2614
  return { plugin: mod.googlePlugin, seedFromConfig: mod.seedFromConfig };
2260
2615
  },
2261
2616
  defaultFallback(cfg) {
@@ -2337,7 +2692,7 @@ var SERVICE_REGISTRY = {
2337
2692
  label: "Slack API emulator",
2338
2693
  endpoints: "auth, chat, conversations, users, profiles, presence, files, pins, bookmarks, views, reactions, team, OAuth, incoming webhooks, inspector",
2339
2694
  async load() {
2340
- const mod = await import("./dist-UKXOY2NR.js");
2695
+ const mod = await import("./dist-2EW6JQLR.js");
2341
2696
  return { plugin: mod.slackPlugin, seedFromConfig: mod.seedFromConfig };
2342
2697
  },
2343
2698
  defaultFallback() {
@@ -2418,7 +2773,7 @@ var SERVICE_REGISTRY = {
2418
2773
  label: "Apple Sign In / OAuth emulator",
2419
2774
  endpoints: "OAuth authorize, token exchange, JWKS",
2420
2775
  async load() {
2421
- const mod = await import("./dist-6TPEFTAK.js");
2776
+ const mod = await import("./dist-HR2HAQAU.js");
2422
2777
  return { plugin: mod.applePlugin, seedFromConfig: mod.seedFromConfig };
2423
2778
  },
2424
2779
  defaultFallback(cfg) {
@@ -2443,7 +2798,7 @@ var SERVICE_REGISTRY = {
2443
2798
  label: "Microsoft Entra ID OAuth 2.0 / OpenID Connect emulator",
2444
2799
  endpoints: "OAuth authorize, token exchange, userinfo, OIDC discovery, Graph /me, logout, token revocation",
2445
2800
  async load() {
2446
- const mod = await import("./dist-TOCHFEDO.js");
2801
+ const mod = await import("./dist-RQOZSYQG.js");
2447
2802
  return { plugin: mod.microsoftPlugin, seedFromConfig: mod.seedFromConfig };
2448
2803
  },
2449
2804
  defaultFallback(cfg) {
@@ -2468,7 +2823,7 @@ var SERVICE_REGISTRY = {
2468
2823
  label: "Okta OAuth 2.0 / OpenID Connect + management API emulator",
2469
2824
  endpoints: "OIDC discovery, JWKS, OAuth authorize/token/userinfo/introspect/revoke/logout, users, groups, apps, authorization servers",
2470
2825
  async load() {
2471
- const mod = await import("./dist-DVBHDPLP.js");
2826
+ const mod = await import("./dist-YUXZ2AZV.js");
2472
2827
  return { plugin: mod.oktaPlugin, seedFromConfig: mod.seedFromConfig };
2473
2828
  },
2474
2829
  defaultFallback(cfg) {
@@ -2496,7 +2851,7 @@ var SERVICE_REGISTRY = {
2496
2851
  label: "AWS cloud service emulator",
2497
2852
  endpoints: "S3 (buckets, objects), SQS (queues, messages), Cognito (User Pools, OAuth, JWTs, Identity Pools), IAM (users, roles, access keys), STS (assume role, caller identity)",
2498
2853
  async load() {
2499
- const mod = await import("./dist-AZA2TRAN.js");
2854
+ const mod = await import("./dist-SYNUHPGD.js");
2500
2855
  return { plugin: mod.awsPlugin, seedFromConfig: mod.seedFromConfig };
2501
2856
  },
2502
2857
  defaultFallback() {
@@ -2518,7 +2873,7 @@ var SERVICE_REGISTRY = {
2518
2873
  label: "Resend email API emulator",
2519
2874
  endpoints: "emails with idempotency, recipient restrictions, send attempts, domains, contacts, API keys, inbox UI",
2520
2875
  async load() {
2521
- const mod = await import("./dist-UFXXFP3R.js");
2876
+ const mod = await import("./dist-WQ3WATIG.js");
2522
2877
  return { plugin: mod.resendPlugin, seedFromConfig: mod.seedFromConfig };
2523
2878
  },
2524
2879
  defaultFallback() {
@@ -2535,7 +2890,7 @@ var SERVICE_REGISTRY = {
2535
2890
  label: "Stripe payments emulator",
2536
2891
  endpoints: "customers, payment methods, customer sessions, payment intents, charges, products, prices, checkout sessions, webhooks",
2537
2892
  async load() {
2538
- const mod = await import("./dist-DWUKLYZG.js");
2893
+ const mod = await import("./dist-VWE6VC5Q.js");
2539
2894
  return { plugin: mod.stripePlugin, seedFromConfig: mod.seedFromConfig };
2540
2895
  },
2541
2896
  defaultFallback() {
@@ -2572,7 +2927,7 @@ var SERVICE_REGISTRY = {
2572
2927
  label: "Clerk authentication and user management emulator",
2573
2928
  endpoints: "OIDC discovery, JWKS, OAuth authorize/token/userinfo, users, email addresses, organizations, memberships, invitations, sessions",
2574
2929
  async load() {
2575
- const mod = await import("./dist-QUEHZ2IC.js");
2930
+ const mod = await import("./dist-R5KFITO6.js");
2576
2931
  return { plugin: mod.clerkPlugin, seedFromConfig: mod.seedFromConfig };
2577
2932
  },
2578
2933
  defaultFallback(cfg) {
@@ -2611,7 +2966,7 @@ var SERVICE_REGISTRY = {
2611
2966
  label: "Linear GraphQL API emulator",
2612
2967
  endpoints: "GraphQL, OAuth, issues, teams, users, workflow states, comments, labels, projects, cycles, webhooks, agents, inspector",
2613
2968
  async load() {
2614
- const mod = await import("./dist-6OM56NLC.js");
2969
+ const mod = await import("./dist-M67TDUXQ.js");
2615
2970
  return { plugin: mod.linearPlugin, seedFromConfig: mod.seedFromConfig };
2616
2971
  },
2617
2972
  defaultFallback(cfg) {
@@ -2676,7 +3031,7 @@ var SERVICE_REGISTRY = {
2676
3031
  label: "Twilio API emulator",
2677
3032
  endpoints: "accounts, API keys, phone numbers, Programmable Messaging, Messaging Services, Verify, Voice, webhooks, simulator, inspector",
2678
3033
  async load() {
2679
- const mod = await import("./dist-KQGIGONJ.js");
3034
+ const mod = await import("./dist-LIZK46HR.js");
2680
3035
  return { plugin: mod.twilioPlugin, seedFromConfig: mod.seedFromConfig };
2681
3036
  },
2682
3037
  defaultFallback(cfg) {