@bowmark/web 1.20.0 → 1.21.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/dist/generated/library.d.ts +173 -2
- package/dist/generated/validators.js +213 -3
- package/package.json +1 -1
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
// rather than imported. An `import` or `export` at the top level of this file would
|
|
6
6
|
// turn it into a module and every declaration below would stop being global.
|
|
7
7
|
//
|
|
8
|
-
// Manifest version:
|
|
9
|
-
// 46 capabilities,
|
|
8
|
+
// Manifest version: 8f74962f532da5df8d2905deb36fe43233b84c4f09f37cb4c76b92a153333d03
|
|
9
|
+
// 46 capabilities, 404 providers, 984 typed functions, 20 refused.
|
|
10
10
|
// 51,715 family members, sharing 2 interface(s) — declared once and pointed at, never repeated per member.
|
|
11
11
|
//
|
|
12
12
|
// REFUSED — these functions are real and callable, and their declared arguments
|
|
@@ -15570,6 +15570,72 @@ interface HauslabsShadeMatch {
|
|
|
15570
15570
|
}
|
|
15571
15571
|
}
|
|
15572
15572
|
|
|
15573
|
+
declare namespace BowmarkProvider_havenenergy {
|
|
15574
|
+
// ── Haven Energy — the unit's own declarations, verbatim ──
|
|
15575
|
+
// Haven Energy's OWN shapes — not a capability contract.
|
|
15576
|
+
|
|
15577
|
+
interface HavenPropertyDetails {
|
|
15578
|
+
homeSize: string | null; // e.g. "SIZE_1500_2499"
|
|
15579
|
+
livingSquareFeet: number | null;
|
|
15580
|
+
latitude: number | null;
|
|
15581
|
+
longitude: number | null;
|
|
15582
|
+
county: string | null;
|
|
15583
|
+
highFireThreatZone: string | null;
|
|
15584
|
+
isInEnergyCommunity: boolean | null;
|
|
15585
|
+
}
|
|
15586
|
+
|
|
15587
|
+
interface HavenPricingTier {
|
|
15588
|
+
batteryModel: string; // e.g. "TESLA_POWERWALL_3"
|
|
15589
|
+
quantity: number;
|
|
15590
|
+
baseMonthlyPayment: number;
|
|
15591
|
+
basePrepaidPayment: number;
|
|
15592
|
+
installationCost: number;
|
|
15593
|
+
billSavings: string; // e.g. "$300-$600"
|
|
15594
|
+
}
|
|
15595
|
+
|
|
15596
|
+
interface HavenPricingProgram {
|
|
15597
|
+
id: string;
|
|
15598
|
+
label: string; // e.g. "PG&E Permanent Battery Storage Rebate"
|
|
15599
|
+
offerType: string;
|
|
15600
|
+
pricingType: string;
|
|
15601
|
+
states: string[];
|
|
15602
|
+
utilities: string[];
|
|
15603
|
+
dwellingsAllowed: string[];
|
|
15604
|
+
requiresIncomeOrMedical: boolean;
|
|
15605
|
+
requiresHomeOwnership: boolean;
|
|
15606
|
+
tiers: HavenPricingTier[];
|
|
15607
|
+
}
|
|
15608
|
+
|
|
15609
|
+
interface HavenPricingProgramsResult { programs: HavenPricingProgram[] }
|
|
15610
|
+
|
|
15611
|
+
/**
|
|
15612
|
+
* Haven Energy home battery quoting — read a US address's own property attributes (home size,
|
|
15613
|
+
* county, energy-community status) the way Haven's /quote flow does, and read the site's own
|
|
15614
|
+
* live incentive/pricing program table (real monthly payment, prepaid payment, installation
|
|
15615
|
+
* cost and bill-savings tiers per program), with no name/email/phone collected anywhere in
|
|
15616
|
+
* this path.
|
|
15617
|
+
*/
|
|
15618
|
+
interface Unit {
|
|
15619
|
+
/**
|
|
15620
|
+
* Reads Haven's own property-attributes lookup for a US street address — the same call /quote
|
|
15621
|
+
* makes on step 1 before any pricing is shown. Returns home-size band, county, lat/lng and
|
|
15622
|
+
* energy-community/fire-zone flags used to match pricing programs. THROWS on a malformed
|
|
15623
|
+
* address; Haven's endpoint itself answers a real but unrecognized address with nulled fields
|
|
15624
|
+
* rather than an error.
|
|
15625
|
+
*/
|
|
15626
|
+
getPropertyDetails(address: string): Promise<HavenPropertyDetails>;
|
|
15627
|
+
|
|
15628
|
+
/**
|
|
15629
|
+
* Returns every currently active incentive/pricing program Haven prices against — eligible
|
|
15630
|
+
* states, utilities and dwelling types, plus real per-tier monthly payment, prepaid payment,
|
|
15631
|
+
* installation cost and typical bill savings for a Tesla Powerwall 3 (with or without an
|
|
15632
|
+
* expansion unit). This is the site's own live table; combine with getPropertyDetails'
|
|
15633
|
+
* county/utility context to narrow to the programs a specific home actually qualifies for.
|
|
15634
|
+
*/
|
|
15635
|
+
getPricingPrograms(): Promise<HavenPricingProgramsResult>;
|
|
15636
|
+
}
|
|
15637
|
+
}
|
|
15638
|
+
|
|
15573
15639
|
declare namespace BowmarkProvider_haydenhomes {
|
|
15574
15640
|
// ── Hayden Homes — the unit's own declarations, verbatim ──
|
|
15575
15641
|
// Hayden Homes' OWN shapes — not a capability contract.
|
|
@@ -18475,6 +18541,71 @@ interface IvoryHomesSearchFilters {
|
|
|
18475
18541
|
}
|
|
18476
18542
|
}
|
|
18477
18543
|
|
|
18544
|
+
declare namespace BowmarkProvider_iyc {
|
|
18545
|
+
// ── IYC — the unit's own declarations, verbatim ──
|
|
18546
|
+
interface IycCharterSearchFilters {
|
|
18547
|
+
destination?: string;
|
|
18548
|
+
guestsMin?: number;
|
|
18549
|
+
lengthFeetMin?: number;
|
|
18550
|
+
lengthFeetMax?: number;
|
|
18551
|
+
budgetMaxUsd?: number;
|
|
18552
|
+
sort?: string;
|
|
18553
|
+
page?: number;
|
|
18554
|
+
}
|
|
18555
|
+
interface IycCharterYacht {
|
|
18556
|
+
yachtId: string;
|
|
18557
|
+
slug: string;
|
|
18558
|
+
name: string;
|
|
18559
|
+
url: string;
|
|
18560
|
+
builder: string | null;
|
|
18561
|
+
lengthInFeet: string | null;
|
|
18562
|
+
lengthInMeters: string | null;
|
|
18563
|
+
guests: number | null;
|
|
18564
|
+
cabins: number | null;
|
|
18565
|
+
crew: number | null;
|
|
18566
|
+
priceToDisplay: string | null;
|
|
18567
|
+
priceUsd: string | null;
|
|
18568
|
+
priceEur: string | null;
|
|
18569
|
+
isPriceOnApplication: boolean;
|
|
18570
|
+
image: string | null;
|
|
18571
|
+
availabilityUrl: string | null;
|
|
18572
|
+
}
|
|
18573
|
+
interface IycCharterSearchResult {
|
|
18574
|
+
total: number;
|
|
18575
|
+
page: number;
|
|
18576
|
+
pages: number;
|
|
18577
|
+
filters: IycCharterSearchFilters;
|
|
18578
|
+
yachts: IycCharterYacht[];
|
|
18579
|
+
}
|
|
18580
|
+
interface IycCharterAvailability {
|
|
18581
|
+
yachtId: string;
|
|
18582
|
+
isAvailable: boolean;
|
|
18583
|
+
unavailableDates: string[];
|
|
18584
|
+
maxDateWithPrice: string | null;
|
|
18585
|
+
}
|
|
18586
|
+
|
|
18587
|
+
/**
|
|
18588
|
+
* IYC's superyacht charter search, run for real — filtered inventory with live USD/EUR pricing
|
|
18589
|
+
* and each yacht's own booked-date calendar, off the site's own undocumented filter API.
|
|
18590
|
+
*/
|
|
18591
|
+
interface Unit {
|
|
18592
|
+
/**
|
|
18593
|
+
* Runs IYC's live charter search — destination, minimum guests, length range and max budget —
|
|
18594
|
+
* and returns real matching yachts with USD/EUR pricing, specs and a charter-detail URL. The
|
|
18595
|
+
* entry point: call with {} for the site's own default window, or narrow it.
|
|
18596
|
+
* checkCharterAvailability takes the yachtId this returns.
|
|
18597
|
+
*/
|
|
18598
|
+
searchCharterYachts(filters?: IycCharterSearchFilters): Promise<IycCharterSearchResult>;
|
|
18599
|
+
|
|
18600
|
+
/**
|
|
18601
|
+
* Reads one yacht's real charter calendar for a yachtId from searchCharterYachts — whether
|
|
18602
|
+
* it's marked available at all, and the exact list of dates the site's own calendar has
|
|
18603
|
+
* booked. THROWS if the endpoint's shape changes underneath it.
|
|
18604
|
+
*/
|
|
18605
|
+
checkCharterAvailability(yachtId: string): Promise<IycCharterAvailability>;
|
|
18606
|
+
}
|
|
18607
|
+
}
|
|
18608
|
+
|
|
18478
18609
|
declare namespace BowmarkProvider_jasmine_dilucci {
|
|
18479
18610
|
// ── Jasmine DiLucci Life Coaching — the unit's own declarations, verbatim ──
|
|
18480
18611
|
interface FormField {
|
|
@@ -24656,6 +24787,43 @@ interface positivegridRetailerSearch {
|
|
|
24656
24787
|
}
|
|
24657
24788
|
}
|
|
24658
24789
|
|
|
24790
|
+
declare namespace BowmarkProvider_postiz {
|
|
24791
|
+
// ── Postiz — the unit's own declarations, verbatim ──
|
|
24792
|
+
interface PostizPost {
|
|
24793
|
+
id: string;
|
|
24794
|
+
content: string;
|
|
24795
|
+
state?: string;
|
|
24796
|
+
publishDate?: string;
|
|
24797
|
+
integration?: string;
|
|
24798
|
+
group?: string;
|
|
24799
|
+
}
|
|
24800
|
+
|
|
24801
|
+
interface ListPostsArgs {
|
|
24802
|
+
/** ISO 8601 — Postiz's own list endpoint requires both bounds. */
|
|
24803
|
+
startDate: string;
|
|
24804
|
+
endDate: string;
|
|
24805
|
+
customer?: string;
|
|
24806
|
+
}
|
|
24807
|
+
|
|
24808
|
+
interface CreatePostArgs {
|
|
24809
|
+
integrationId: string;
|
|
24810
|
+
content: string;
|
|
24811
|
+
type?: "draft" | "schedule" | "now";
|
|
24812
|
+
date?: string;
|
|
24813
|
+
settings?: Record<string, unknown>;
|
|
24814
|
+
shortLink?: boolean;
|
|
24815
|
+
}
|
|
24816
|
+
|
|
24817
|
+
/** Schedule and publish posts across multiple social media platforms */
|
|
24818
|
+
interface Unit {
|
|
24819
|
+
/** List scheduled and published posts for a workspace within a date range. */
|
|
24820
|
+
listPosts(args: ListPostsArgs): Promise<PostizPost[]>;
|
|
24821
|
+
|
|
24822
|
+
/** Create and schedule a new post across a connected social media account. */
|
|
24823
|
+
createPost(args: CreatePostArgs): Promise<PostizPost>;
|
|
24824
|
+
}
|
|
24825
|
+
}
|
|
24826
|
+
|
|
24659
24827
|
declare namespace BowmarkProvider_premierbuildings {
|
|
24660
24828
|
// ── Premier Portable Buildings — the unit's own declarations, verbatim ──
|
|
24661
24829
|
interface PremierbuildingsStyle {
|
|
@@ -32597,6 +32765,7 @@ interface BowmarkProviders {
|
|
|
32597
32765
|
hansons: BowmarkProvider_hansons.Unit;
|
|
32598
32766
|
harmar: BowmarkProvider_harmar.Unit;
|
|
32599
32767
|
hauslabs: BowmarkProvider_hauslabs.Unit;
|
|
32768
|
+
havenenergy: BowmarkProvider_havenenergy.Unit;
|
|
32600
32769
|
haydenhomes: BowmarkProvider_haydenhomes.Unit;
|
|
32601
32770
|
healthcare_gov: BowmarkProvider_healthcare_gov.Unit;
|
|
32602
32771
|
heatherwood: BowmarkProvider_heatherwood.Unit;
|
|
@@ -32621,6 +32790,7 @@ interface BowmarkProviders {
|
|
|
32621
32790
|
islllc: BowmarkProvider_islllc.Unit;
|
|
32622
32791
|
istanbulkart: BowmarkProvider_istanbulkart.Unit;
|
|
32623
32792
|
ivoryhomes: BowmarkProvider_ivoryhomes.Unit;
|
|
32793
|
+
iyc: BowmarkProvider_iyc.Unit;
|
|
32624
32794
|
jasmine_dilucci: BowmarkProvider_jasmine_dilucci.Unit;
|
|
32625
32795
|
jennikayne: BowmarkProvider_jennikayne.Unit;
|
|
32626
32796
|
joybird: BowmarkProvider_joybird.Unit;
|
|
@@ -32703,6 +32873,7 @@ interface BowmarkProviders {
|
|
|
32703
32873
|
polytex: BowmarkProvider_polytex.Unit;
|
|
32704
32874
|
poshmark: BowmarkProvider_poshmark.Unit;
|
|
32705
32875
|
positivegrid: BowmarkProvider_positivegrid.Unit;
|
|
32876
|
+
postiz: BowmarkProvider_postiz.Unit;
|
|
32706
32877
|
premierbuildings: BowmarkProvider_premierbuildings.Unit;
|
|
32707
32878
|
progressive: BowmarkProvider_progressive.Unit;
|
|
32708
32879
|
prolook: BowmarkProvider_prolook.Unit;
|
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
// declares no readable argument shape — not an absent one, which is what the
|
|
6
6
|
// guard fails closed on.
|
|
7
7
|
//
|
|
8
|
-
// Manifest version:
|
|
9
|
-
//
|
|
8
|
+
// Manifest version: 8f74962f532da5df8d2905deb36fe43233b84c4f09f37cb4c76b92a153333d03
|
|
9
|
+
// 966 checked, 20 unchecked.
|
|
10
10
|
export const VALIDATORS = {
|
|
11
|
-
"version": "
|
|
11
|
+
"version": "8f74962f532da5df8d2905deb36fe43233b84c4f09f37cb4c76b92a153333d03",
|
|
12
12
|
"units": {
|
|
13
13
|
"bundles": {
|
|
14
14
|
"defs": {},
|
|
@@ -13811,6 +13811,21 @@ export const VALIDATORS = {
|
|
|
13811
13811
|
]
|
|
13812
13812
|
}
|
|
13813
13813
|
},
|
|
13814
|
+
"providers.havenenergy": {
|
|
13815
|
+
"defs": {},
|
|
13816
|
+
"functions": {
|
|
13817
|
+
"getPropertyDetails": [
|
|
13818
|
+
{
|
|
13819
|
+
"name": "address",
|
|
13820
|
+
"schema": {
|
|
13821
|
+
"k": "string"
|
|
13822
|
+
},
|
|
13823
|
+
"optional": false
|
|
13824
|
+
}
|
|
13825
|
+
],
|
|
13826
|
+
"getPricingPrograms": []
|
|
13827
|
+
}
|
|
13828
|
+
},
|
|
13814
13829
|
"providers.haydenhomes": {
|
|
13815
13830
|
"defs": {
|
|
13816
13831
|
"HaydenhomesSearchFilters": {
|
|
@@ -16023,6 +16038,85 @@ export const VALIDATORS = {
|
|
|
16023
16038
|
]
|
|
16024
16039
|
}
|
|
16025
16040
|
},
|
|
16041
|
+
"providers.iyc": {
|
|
16042
|
+
"defs": {
|
|
16043
|
+
"IycCharterSearchFilters": {
|
|
16044
|
+
"k": "object",
|
|
16045
|
+
"props": [
|
|
16046
|
+
{
|
|
16047
|
+
"name": "destination",
|
|
16048
|
+
"schema": {
|
|
16049
|
+
"k": "string"
|
|
16050
|
+
},
|
|
16051
|
+
"optional": true
|
|
16052
|
+
},
|
|
16053
|
+
{
|
|
16054
|
+
"name": "guestsMin",
|
|
16055
|
+
"schema": {
|
|
16056
|
+
"k": "number"
|
|
16057
|
+
},
|
|
16058
|
+
"optional": true
|
|
16059
|
+
},
|
|
16060
|
+
{
|
|
16061
|
+
"name": "lengthFeetMin",
|
|
16062
|
+
"schema": {
|
|
16063
|
+
"k": "number"
|
|
16064
|
+
},
|
|
16065
|
+
"optional": true
|
|
16066
|
+
},
|
|
16067
|
+
{
|
|
16068
|
+
"name": "lengthFeetMax",
|
|
16069
|
+
"schema": {
|
|
16070
|
+
"k": "number"
|
|
16071
|
+
},
|
|
16072
|
+
"optional": true
|
|
16073
|
+
},
|
|
16074
|
+
{
|
|
16075
|
+
"name": "budgetMaxUsd",
|
|
16076
|
+
"schema": {
|
|
16077
|
+
"k": "number"
|
|
16078
|
+
},
|
|
16079
|
+
"optional": true
|
|
16080
|
+
},
|
|
16081
|
+
{
|
|
16082
|
+
"name": "sort",
|
|
16083
|
+
"schema": {
|
|
16084
|
+
"k": "string"
|
|
16085
|
+
},
|
|
16086
|
+
"optional": true
|
|
16087
|
+
},
|
|
16088
|
+
{
|
|
16089
|
+
"name": "page",
|
|
16090
|
+
"schema": {
|
|
16091
|
+
"k": "number"
|
|
16092
|
+
},
|
|
16093
|
+
"optional": true
|
|
16094
|
+
}
|
|
16095
|
+
]
|
|
16096
|
+
}
|
|
16097
|
+
},
|
|
16098
|
+
"functions": {
|
|
16099
|
+
"searchCharterYachts": [
|
|
16100
|
+
{
|
|
16101
|
+
"name": "filters",
|
|
16102
|
+
"schema": {
|
|
16103
|
+
"k": "ref",
|
|
16104
|
+
"name": "IycCharterSearchFilters"
|
|
16105
|
+
},
|
|
16106
|
+
"optional": true
|
|
16107
|
+
}
|
|
16108
|
+
],
|
|
16109
|
+
"checkCharterAvailability": [
|
|
16110
|
+
{
|
|
16111
|
+
"name": "yachtId",
|
|
16112
|
+
"schema": {
|
|
16113
|
+
"k": "string"
|
|
16114
|
+
},
|
|
16115
|
+
"optional": false
|
|
16116
|
+
}
|
|
16117
|
+
]
|
|
16118
|
+
}
|
|
16119
|
+
},
|
|
16026
16120
|
"providers.jasmine_dilucci": {
|
|
16027
16121
|
"defs": {},
|
|
16028
16122
|
"functions": {
|
|
@@ -20749,6 +20843,122 @@ export const VALIDATORS = {
|
|
|
20749
20843
|
]
|
|
20750
20844
|
}
|
|
20751
20845
|
},
|
|
20846
|
+
"providers.postiz": {
|
|
20847
|
+
"defs": {
|
|
20848
|
+
"CreatePostArgs": {
|
|
20849
|
+
"k": "object",
|
|
20850
|
+
"props": [
|
|
20851
|
+
{
|
|
20852
|
+
"name": "integrationId",
|
|
20853
|
+
"schema": {
|
|
20854
|
+
"k": "string"
|
|
20855
|
+
},
|
|
20856
|
+
"optional": false
|
|
20857
|
+
},
|
|
20858
|
+
{
|
|
20859
|
+
"name": "content",
|
|
20860
|
+
"schema": {
|
|
20861
|
+
"k": "string"
|
|
20862
|
+
},
|
|
20863
|
+
"optional": false
|
|
20864
|
+
},
|
|
20865
|
+
{
|
|
20866
|
+
"name": "type",
|
|
20867
|
+
"schema": {
|
|
20868
|
+
"k": "union",
|
|
20869
|
+
"of": [
|
|
20870
|
+
{
|
|
20871
|
+
"k": "literal",
|
|
20872
|
+
"v": "draft"
|
|
20873
|
+
},
|
|
20874
|
+
{
|
|
20875
|
+
"k": "literal",
|
|
20876
|
+
"v": "schedule"
|
|
20877
|
+
},
|
|
20878
|
+
{
|
|
20879
|
+
"k": "literal",
|
|
20880
|
+
"v": "now"
|
|
20881
|
+
}
|
|
20882
|
+
]
|
|
20883
|
+
},
|
|
20884
|
+
"optional": true
|
|
20885
|
+
},
|
|
20886
|
+
{
|
|
20887
|
+
"name": "date",
|
|
20888
|
+
"schema": {
|
|
20889
|
+
"k": "string"
|
|
20890
|
+
},
|
|
20891
|
+
"optional": true
|
|
20892
|
+
},
|
|
20893
|
+
{
|
|
20894
|
+
"name": "settings",
|
|
20895
|
+
"schema": {
|
|
20896
|
+
"k": "record",
|
|
20897
|
+
"value": {
|
|
20898
|
+
"k": "any"
|
|
20899
|
+
}
|
|
20900
|
+
},
|
|
20901
|
+
"optional": true
|
|
20902
|
+
},
|
|
20903
|
+
{
|
|
20904
|
+
"name": "shortLink",
|
|
20905
|
+
"schema": {
|
|
20906
|
+
"k": "boolean"
|
|
20907
|
+
},
|
|
20908
|
+
"optional": true
|
|
20909
|
+
}
|
|
20910
|
+
]
|
|
20911
|
+
},
|
|
20912
|
+
"ListPostsArgs": {
|
|
20913
|
+
"k": "object",
|
|
20914
|
+
"props": [
|
|
20915
|
+
{
|
|
20916
|
+
"name": "startDate",
|
|
20917
|
+
"schema": {
|
|
20918
|
+
"k": "string"
|
|
20919
|
+
},
|
|
20920
|
+
"optional": false
|
|
20921
|
+
},
|
|
20922
|
+
{
|
|
20923
|
+
"name": "endDate",
|
|
20924
|
+
"schema": {
|
|
20925
|
+
"k": "string"
|
|
20926
|
+
},
|
|
20927
|
+
"optional": false
|
|
20928
|
+
},
|
|
20929
|
+
{
|
|
20930
|
+
"name": "customer",
|
|
20931
|
+
"schema": {
|
|
20932
|
+
"k": "string"
|
|
20933
|
+
},
|
|
20934
|
+
"optional": true
|
|
20935
|
+
}
|
|
20936
|
+
]
|
|
20937
|
+
}
|
|
20938
|
+
},
|
|
20939
|
+
"functions": {
|
|
20940
|
+
"listPosts": [
|
|
20941
|
+
{
|
|
20942
|
+
"name": "args",
|
|
20943
|
+
"schema": {
|
|
20944
|
+
"k": "ref",
|
|
20945
|
+
"name": "ListPostsArgs"
|
|
20946
|
+
},
|
|
20947
|
+
"optional": false
|
|
20948
|
+
}
|
|
20949
|
+
],
|
|
20950
|
+
"createPost": [
|
|
20951
|
+
{
|
|
20952
|
+
"name": "args",
|
|
20953
|
+
"schema": {
|
|
20954
|
+
"k": "ref",
|
|
20955
|
+
"name": "CreatePostArgs"
|
|
20956
|
+
},
|
|
20957
|
+
"optional": false
|
|
20958
|
+
}
|
|
20959
|
+
]
|
|
20960
|
+
}
|
|
20961
|
+
},
|
|
20752
20962
|
"providers.premierbuildings": {
|
|
20753
20963
|
"defs": {},
|
|
20754
20964
|
"functions": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bowmark/web",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.21.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "The public client for the Bowmark capability library — real TypeScript for the whole bowmark.* surface, with no Bowmark source on the caller's disk. ZERO runtime dependencies, deliberately and permanently.",
|
|
6
6
|
"license": "MIT",
|