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.
- package/README.md +15 -0
- package/dist/api.d.ts +1 -1
- package/dist/api.js +378 -23
- package/dist/api.js.map +1 -1
- package/dist/{chunk-5PAJ6LLN.js → chunk-N3OXS25N.js} +379 -24
- package/dist/chunk-N3OXS25N.js.map +1 -0
- package/dist/{dist-65JH5Z2J.js → dist-2AQ4NEIG.js} +26 -6
- package/dist/dist-2AQ4NEIG.js.map +1 -0
- package/dist/{dist-UKXOY2NR.js → dist-2EW6JQLR.js} +3 -1
- package/dist/dist-2EW6JQLR.js.map +1 -0
- package/dist/dist-2YZQBLX2.js +2605 -0
- package/dist/dist-2YZQBLX2.js.map +1 -0
- package/dist/dist-6GBOXHHG.js +2479 -0
- package/dist/dist-6GBOXHHG.js.map +1 -0
- package/dist/dist-BGTZW3FR.js +2170 -0
- package/dist/dist-BGTZW3FR.js.map +1 -0
- package/dist/dist-CKAIZSL3.js +6372 -0
- package/dist/dist-CKAIZSL3.js.map +1 -0
- package/dist/{dist-IJ7LRDHX.js → dist-CUGOQPIQ.js} +3 -1
- package/dist/{dist-IJ7LRDHX.js.map → dist-CUGOQPIQ.js.map} +1 -1
- package/dist/{dist-WRDU25DF.js → dist-DGVBWEYK.js} +3 -1
- package/dist/dist-DGVBWEYK.js.map +1 -0
- package/dist/dist-F4OEZZBR.js +2656 -0
- package/dist/dist-F4OEZZBR.js.map +1 -0
- package/dist/dist-G4ZKPBOD.js +5618 -0
- package/dist/dist-G4ZKPBOD.js.map +1 -0
- package/dist/dist-GRGMAU6B.js +5852 -0
- package/dist/dist-GRGMAU6B.js.map +1 -0
- package/dist/{dist-6TPEFTAK.js → dist-HR2HAQAU.js} +3 -1
- package/dist/dist-HR2HAQAU.js.map +1 -0
- package/dist/{dist-JJIQYFJ4.js → dist-ID2YPHQQ.js} +102 -66
- package/dist/dist-ID2YPHQQ.js.map +1 -0
- package/dist/dist-ID3HOBV6.js +2724 -0
- package/dist/dist-ID3HOBV6.js.map +1 -0
- package/dist/dist-IMZOZNB5.js +2626 -0
- package/dist/dist-IMZOZNB5.js.map +1 -0
- package/dist/dist-LHSWVR7A.js +2235 -0
- package/dist/dist-LHSWVR7A.js.map +1 -0
- package/dist/{dist-KQGIGONJ.js → dist-LIZK46HR.js} +3 -1
- package/dist/dist-LIZK46HR.js.map +1 -0
- package/dist/{dist-WDXPM6L6.js → dist-LZGD67E4.js} +3 -1
- package/dist/dist-LZGD67E4.js.map +1 -0
- package/dist/{dist-6OM56NLC.js → dist-M67TDUXQ.js} +3 -1
- package/dist/dist-M67TDUXQ.js.map +1 -0
- package/dist/{dist-4CPLP2NQ.js → dist-MZT7NDSQ.js} +3 -1
- package/dist/dist-MZT7NDSQ.js.map +1 -0
- package/dist/dist-NIYFNDR5.js +2224 -0
- package/dist/dist-NIYFNDR5.js.map +1 -0
- package/dist/dist-NZYMC7MC.js +6894 -0
- package/dist/dist-NZYMC7MC.js.map +1 -0
- package/dist/dist-OXKMJ5KL.js +5475 -0
- package/dist/dist-OXKMJ5KL.js.map +1 -0
- package/dist/{dist-CLJBPXNS.js → dist-P6AKEZX2.js} +3 -1
- package/dist/dist-P6AKEZX2.js.map +1 -0
- package/dist/{dist-QUEHZ2IC.js → dist-R5KFITO6.js} +3 -1
- package/dist/dist-R5KFITO6.js.map +1 -0
- package/dist/{dist-TOCHFEDO.js → dist-RQOZSYQG.js} +9 -2
- package/dist/dist-RQOZSYQG.js.map +1 -0
- package/dist/{dist-MRCWT2JC.js → dist-RSDUQY6D.js} +3 -1
- package/dist/dist-RSDUQY6D.js.map +1 -0
- package/dist/{dist-RWIGUWMG.js → dist-S5QMZUHL.js} +3 -1
- package/dist/dist-S5QMZUHL.js.map +1 -0
- package/dist/{dist-AZA2TRAN.js → dist-SYNUHPGD.js} +3 -1
- package/dist/dist-SYNUHPGD.js.map +1 -0
- package/dist/{dist-HUDK42DK.js → dist-U4GQRGQO.js} +3 -1
- package/dist/dist-U4GQRGQO.js.map +1 -0
- package/dist/{dist-DWUKLYZG.js → dist-VWE6VC5Q.js} +3 -1
- package/dist/dist-VWE6VC5Q.js.map +1 -0
- package/dist/{dist-UFXXFP3R.js → dist-WQ3WATIG.js} +3 -1
- package/dist/dist-WQ3WATIG.js.map +1 -0
- package/dist/dist-WSHMJF6J.js +6403 -0
- package/dist/dist-WSHMJF6J.js.map +1 -0
- package/dist/dist-YC3GSNFQ.js +6545 -0
- package/dist/dist-YC3GSNFQ.js.map +1 -0
- package/dist/{dist-DVBHDPLP.js → dist-YUXZ2AZV.js} +3 -1
- package/dist/dist-YUXZ2AZV.js.map +1 -0
- package/dist/{dist-JAQBQLBJ.js → dist-YYYAIE7M.js} +3 -1
- package/dist/dist-YYYAIE7M.js.map +1 -0
- package/dist/{dist-MD4P4BXL.js → dist-ZTZM5RRL.js} +3 -1
- package/dist/dist-ZTZM5RRL.js.map +1 -0
- package/dist/index.js +109 -2
- package/dist/index.js.map +1 -1
- package/dist/project-worker.js +1 -1
- package/package.json +29 -14
- package/dist/chunk-5PAJ6LLN.js.map +0 -1
- package/dist/dist-4CPLP2NQ.js.map +0 -1
- package/dist/dist-65JH5Z2J.js.map +0 -1
- package/dist/dist-6OM56NLC.js.map +0 -1
- package/dist/dist-6TPEFTAK.js.map +0 -1
- package/dist/dist-AZA2TRAN.js.map +0 -1
- package/dist/dist-CLJBPXNS.js.map +0 -1
- package/dist/dist-DVBHDPLP.js.map +0 -1
- package/dist/dist-DWUKLYZG.js.map +0 -1
- package/dist/dist-HUDK42DK.js.map +0 -1
- package/dist/dist-JAQBQLBJ.js.map +0 -1
- package/dist/dist-JJIQYFJ4.js.map +0 -1
- package/dist/dist-KQGIGONJ.js.map +0 -1
- package/dist/dist-MD4P4BXL.js.map +0 -1
- package/dist/dist-MRCWT2JC.js.map +0 -1
- package/dist/dist-QUEHZ2IC.js.map +0 -1
- package/dist/dist-RWIGUWMG.js.map +0 -1
- package/dist/dist-TOCHFEDO.js.map +0 -1
- package/dist/dist-UFXXFP3R.js.map +0 -1
- package/dist/dist-UKXOY2NR.js.map +0 -1
- package/dist/dist-WDXPM6L6.js.map +0 -1
- 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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
3034
|
+
const mod = await import("./dist-LIZK46HR.js");
|
|
2680
3035
|
return { plugin: mod.twilioPlugin, seedFromConfig: mod.seedFromConfig };
|
|
2681
3036
|
},
|
|
2682
3037
|
defaultFallback(cfg) {
|