atmn 1.1.14 → 1.1.16
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/cli.js +11662 -10266
- package/dist/src/compose/index.d.ts +2 -2
- package/dist/src/compose/models/planModels.d.ts +78 -11
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +97 -118
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { billingControls, feature, item } from "./builders/builderFunctions.js";
|
|
2
2
|
import type { Feature } from "./models/featureModels.js";
|
|
3
|
-
import type { BillingControls, FreeTrial, PlanItem } from "./models/planModels.js";
|
|
3
|
+
import type { BillingControls, FreeTrial, PlanItem, PlanLicense } from "./models/planModels.js";
|
|
4
4
|
import type { CustomizePlan, Plan, PlanItemFilter, Variant } from "./models/variantModels.js";
|
|
5
5
|
export { billingControls, plan, feature, item };
|
|
6
|
-
export type { BillingControls, CustomizePlan, Feature, FreeTrial, Plan, PlanItem, PlanItemFilter, Variant, };
|
|
6
|
+
export type { BillingControls, CustomizePlan, Feature, FreeTrial, Plan, PlanItem, PlanItemFilter, PlanLicense, Variant, };
|
|
7
7
|
type PlanInput = Omit<Plan, "description" | "addOn" | "autoEnable" | "group" | "variant"> & Partial<Pick<Plan, "description" | "addOn" | "autoEnable" | "group">>;
|
|
8
8
|
type PlanWithVariantMethod = Plan & {
|
|
9
9
|
variant: NonNullable<Plan["variant"]>;
|
|
@@ -1,7 +1,21 @@
|
|
|
1
1
|
import { z } from "zod/v4";
|
|
2
|
+
export declare const AdditionalCurrencySchema: z.ZodObject<{
|
|
3
|
+
currency: z.ZodString;
|
|
4
|
+
amount: z.ZodNumber;
|
|
5
|
+
}, z.core.$strip>;
|
|
6
|
+
export declare const AdditionalCurrencyTierSchema: z.ZodObject<{
|
|
7
|
+
currency: z.ZodString;
|
|
8
|
+
amount: z.ZodOptional<z.ZodNumber>;
|
|
9
|
+
flatAmount: z.ZodOptional<z.ZodNumber>;
|
|
10
|
+
}, z.core.$strip>;
|
|
2
11
|
export declare const UsageTierSchema: z.ZodObject<{
|
|
3
12
|
to: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"inf">]>;
|
|
4
13
|
amount: z.ZodNumber;
|
|
14
|
+
additionalCurrencies: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
15
|
+
currency: z.ZodString;
|
|
16
|
+
amount: z.ZodOptional<z.ZodNumber>;
|
|
17
|
+
flatAmount: z.ZodOptional<z.ZodNumber>;
|
|
18
|
+
}, z.core.$strip>>>;
|
|
5
19
|
}, z.core.$strip>;
|
|
6
20
|
type AutoTopupPurchaseLimit = {
|
|
7
21
|
interval: "hour" | "day" | "week" | "month";
|
|
@@ -60,6 +74,15 @@ export declare const PlanItemSchema: z.ZodObject<{
|
|
|
60
74
|
tiers: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
61
75
|
to: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"inf">]>;
|
|
62
76
|
amount: z.ZodNumber;
|
|
77
|
+
additionalCurrencies: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
78
|
+
currency: z.ZodString;
|
|
79
|
+
amount: z.ZodOptional<z.ZodNumber>;
|
|
80
|
+
flatAmount: z.ZodOptional<z.ZodNumber>;
|
|
81
|
+
}, z.core.$strip>>>;
|
|
82
|
+
}, z.core.$strip>>>;
|
|
83
|
+
additionalCurrencies: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
84
|
+
currency: z.ZodString;
|
|
85
|
+
amount: z.ZodNumber;
|
|
63
86
|
}, z.core.$strip>>>;
|
|
64
87
|
tier_behavior: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"graduated">, z.ZodLiteral<"volume">]>>;
|
|
65
88
|
interval: z.ZodUnion<readonly [z.ZodLiteral<"one_off">, z.ZodLiteral<"week">, z.ZodLiteral<"month">, z.ZodLiteral<"quarter">, z.ZodLiteral<"semi_annual">, z.ZodLiteral<"year">]>;
|
|
@@ -88,6 +111,11 @@ export declare const FreeTrialSchema: z.ZodObject<{
|
|
|
88
111
|
cardRequired: z.ZodDefault<z.ZodBoolean>;
|
|
89
112
|
}, z.core.$strip>;
|
|
90
113
|
export declare const BillingControlsSchema: z.ZodCustom<BillingControls, BillingControls>;
|
|
114
|
+
export declare const PlanLicenseSchema: z.ZodObject<{
|
|
115
|
+
licensePlanId: z.ZodString;
|
|
116
|
+
version: z.ZodOptional<z.ZodNumber>;
|
|
117
|
+
included: z.ZodOptional<z.ZodNumber>;
|
|
118
|
+
}, z.core.$strip>;
|
|
91
119
|
export declare const PlanSchema: z.ZodObject<{
|
|
92
120
|
description: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
93
121
|
addOn: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -96,6 +124,10 @@ export declare const PlanSchema: z.ZodObject<{
|
|
|
96
124
|
amount: z.ZodNumber;
|
|
97
125
|
interval: z.ZodUnion<readonly [z.ZodLiteral<"one_off">, z.ZodLiteral<"week">, z.ZodLiteral<"month">, z.ZodLiteral<"quarter">, z.ZodLiteral<"semi_annual">, z.ZodLiteral<"year">]>;
|
|
98
126
|
intervalCount: z.ZodOptional<z.ZodNumber>;
|
|
127
|
+
additionalCurrencies: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
128
|
+
currency: z.ZodString;
|
|
129
|
+
amount: z.ZodNumber;
|
|
130
|
+
}, z.core.$strip>>>;
|
|
99
131
|
}, z.core.$strip>>;
|
|
100
132
|
items: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
101
133
|
featureId: z.ZodString;
|
|
@@ -110,6 +142,15 @@ export declare const PlanSchema: z.ZodObject<{
|
|
|
110
142
|
tiers: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
111
143
|
to: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"inf">]>;
|
|
112
144
|
amount: z.ZodNumber;
|
|
145
|
+
additionalCurrencies: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
146
|
+
currency: z.ZodString;
|
|
147
|
+
amount: z.ZodOptional<z.ZodNumber>;
|
|
148
|
+
flatAmount: z.ZodOptional<z.ZodNumber>;
|
|
149
|
+
}, z.core.$strip>>>;
|
|
150
|
+
}, z.core.$strip>>>;
|
|
151
|
+
additionalCurrencies: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
152
|
+
currency: z.ZodString;
|
|
153
|
+
amount: z.ZodNumber;
|
|
113
154
|
}, z.core.$strip>>>;
|
|
114
155
|
tier_behavior: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"graduated">, z.ZodLiteral<"volume">]>>;
|
|
115
156
|
interval: z.ZodUnion<readonly [z.ZodLiteral<"one_off">, z.ZodLiteral<"week">, z.ZodLiteral<"month">, z.ZodLiteral<"quarter">, z.ZodLiteral<"semi_annual">, z.ZodLiteral<"year">]>;
|
|
@@ -138,6 +179,11 @@ export declare const PlanSchema: z.ZodObject<{
|
|
|
138
179
|
cardRequired: z.ZodDefault<z.ZodBoolean>;
|
|
139
180
|
}, z.core.$strip>>;
|
|
140
181
|
billingControls: z.ZodOptional<z.ZodCustom<BillingControls, BillingControls>>;
|
|
182
|
+
licenses: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
183
|
+
licensePlanId: z.ZodString;
|
|
184
|
+
version: z.ZodOptional<z.ZodNumber>;
|
|
185
|
+
included: z.ZodOptional<z.ZodNumber>;
|
|
186
|
+
}, z.core.$strip>>>;
|
|
141
187
|
id: z.ZodString;
|
|
142
188
|
name: z.ZodString;
|
|
143
189
|
group: z.ZodDefault<z.ZodString>;
|
|
@@ -150,6 +196,20 @@ export type PlanPriceInterval = "one_off" | "week" | "month" | "quarter" | "semi
|
|
|
150
196
|
export type BillingMethod = "prepaid" | "usage_based";
|
|
151
197
|
export type OnIncrease = "prorate" | "charge_immediately";
|
|
152
198
|
export type OnDecrease = "prorate" | "refund_immediately" | "no_action";
|
|
199
|
+
export type AdditionalCurrency = {
|
|
200
|
+
/** Three-letter ISO currency code (e.g. 'eur', 'gbp') */
|
|
201
|
+
currency: string;
|
|
202
|
+
/** Amount in this currency */
|
|
203
|
+
amount: number;
|
|
204
|
+
};
|
|
205
|
+
export type AdditionalCurrencyTier = {
|
|
206
|
+
/** Three-letter ISO currency code (e.g. 'eur', 'gbp') */
|
|
207
|
+
currency: string;
|
|
208
|
+
/** Per-unit amount for this tier in this currency */
|
|
209
|
+
amount?: number;
|
|
210
|
+
/** Flat amount for this tier in this currency */
|
|
211
|
+
flatAmount?: number;
|
|
212
|
+
};
|
|
153
213
|
type ResetConfig = {
|
|
154
214
|
/** How often usage resets (e.g., 'month', 'day') */
|
|
155
215
|
interval: ResetInterval;
|
|
@@ -199,6 +259,8 @@ type PriceWithAmount = PriceBaseFields & {
|
|
|
199
259
|
amount: number;
|
|
200
260
|
/** Cannot have tiers when using flat amount */
|
|
201
261
|
tiers?: never;
|
|
262
|
+
/** Flat price amounts in additional currencies */
|
|
263
|
+
additionalCurrencies?: AdditionalCurrency[];
|
|
202
264
|
};
|
|
203
265
|
type PriceWithTiers = PriceBaseFields & {
|
|
204
266
|
/** Cannot have flat amount when using tiers */
|
|
@@ -208,9 +270,13 @@ type PriceWithTiers = PriceBaseFields & {
|
|
|
208
270
|
to: number | "inf";
|
|
209
271
|
amount: number;
|
|
210
272
|
flatAmount?: number;
|
|
273
|
+
/** Per-tier amounts in additional currencies */
|
|
274
|
+
additionalCurrencies?: AdditionalCurrencyTier[];
|
|
211
275
|
}>;
|
|
212
276
|
/** Required when tiers is defined: how tiers are applied */
|
|
213
277
|
tierBehavior: "graduated" | "volume";
|
|
278
|
+
/** Tiered prices carry additional currencies per tier, not at price level */
|
|
279
|
+
additionalCurrencies?: never;
|
|
214
280
|
};
|
|
215
281
|
type PriceAmountOrTiers = PriceWithAmount | PriceWithTiers;
|
|
216
282
|
type Price = PriceAmountOrTiers & {
|
|
@@ -219,23 +285,19 @@ type Price = PriceAmountOrTiers & {
|
|
|
219
285
|
/** Number of intervals between billing cycles (default: 1) */
|
|
220
286
|
intervalCount?: number;
|
|
221
287
|
};
|
|
222
|
-
/**
|
|
223
|
-
* Plan item with a reset cycle (e.g. 100 messages per month).
|
|
224
|
-
* Cannot have price — reset and price are mutually exclusive.
|
|
225
|
-
*/
|
|
288
|
+
/** Plan item with a free reset cycle (e.g. 100 messages per month). */
|
|
226
289
|
export type PlanItemWithReset = PlanItemBaseFields & {
|
|
227
290
|
/** Reset configuration for the included allowance */
|
|
228
291
|
reset: ResetConfig;
|
|
229
|
-
/** Cannot have price when using reset — use price.interval instead */
|
|
230
292
|
price?: never;
|
|
231
293
|
};
|
|
232
294
|
/**
|
|
233
|
-
* Plan item with usage-based pricing
|
|
234
|
-
*
|
|
295
|
+
* Plan item with prepaid or usage-based pricing.
|
|
296
|
+
* Prepaid items may reset on a different cycle from billing.
|
|
235
297
|
*/
|
|
236
298
|
export type PlanItemWithPrice = PlanItemBaseFields & {
|
|
237
|
-
/**
|
|
238
|
-
reset?:
|
|
299
|
+
/** Reset configuration when it differs from the billing cycle */
|
|
300
|
+
reset?: ResetConfig;
|
|
239
301
|
/** Pricing configuration */
|
|
240
302
|
price: Price;
|
|
241
303
|
};
|
|
@@ -250,13 +312,14 @@ export type PlanItemNoReset = PlanItemBaseFields & {
|
|
|
250
312
|
price?: never;
|
|
251
313
|
};
|
|
252
314
|
/**
|
|
253
|
-
* Plan item configuration
|
|
315
|
+
* Plan item configuration:
|
|
254
316
|
* - PlanItemWithReset: included allowance that resets on an interval (e.g. 100/month free)
|
|
255
|
-
* - PlanItemWithPrice: usage-based pricing with
|
|
317
|
+
* - PlanItemWithPrice: prepaid or usage-based pricing with a billing cycle
|
|
256
318
|
* - PlanItemNoReset: no reset, no price (continuous-use or boolean features)
|
|
257
319
|
*/
|
|
258
320
|
export type PlanItem = PlanItemWithReset | PlanItemWithPrice | PlanItemNoReset;
|
|
259
321
|
export type FreeTrial = z.infer<typeof FreeTrialSchema>;
|
|
322
|
+
export type PlanLicense = z.infer<typeof PlanLicenseSchema>;
|
|
260
323
|
export type Plan = {
|
|
261
324
|
/** Unique identifier for the plan. */
|
|
262
325
|
id: string;
|
|
@@ -276,6 +339,8 @@ export type Plan = {
|
|
|
276
339
|
amount: number;
|
|
277
340
|
/** Billing frequency */
|
|
278
341
|
interval: PlanPriceInterval;
|
|
342
|
+
/** Base price amounts in additional currencies */
|
|
343
|
+
additionalCurrencies?: AdditionalCurrency[];
|
|
279
344
|
};
|
|
280
345
|
/** Feature configurations for this plan. Each item defines included units, pricing, and reset behavior. */
|
|
281
346
|
items?: PlanItem[];
|
|
@@ -283,6 +348,8 @@ export type Plan = {
|
|
|
283
348
|
freeTrial?: FreeTrial | null;
|
|
284
349
|
/** Plan-level billing controls used as customer defaults */
|
|
285
350
|
billingControls?: BillingControls;
|
|
351
|
+
/** Plans offered as assignable licenses under this plan. */
|
|
352
|
+
licenses?: PlanLicense[];
|
|
286
353
|
/** Whether the plan is archived */
|
|
287
354
|
archived?: boolean;
|
|
288
355
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"7.0.0-dev.20260511.1","root":["../src/cli.tsx","../src/constants.ts","../src/commands/auth/command.ts","../src/commands/auth/constants.ts","../src/commands/auth/oauth.ts","../src/commands/config/command.ts","../src/commands/customers/command.tsx","../src/commands/customers/headless.ts","../src/commands/customers/index.ts","../src/commands/events/command.tsx","../src/commands/events/headless.ts","../src/commands/events/index.ts","../src/commands/events-aggregate-test/command.ts","../src/commands/events-aggregate-test/index.ts","../src/commands/features/command.tsx","../src/commands/features/headless.ts","../src/commands/features/index.ts","../src/commands/nuke/backup.ts","../src/commands/nuke/deletions.ts","../src/commands/nuke/legacynuke.ts","../src/commands/nuke/types.ts","../src/commands/nuke/validation.ts","../src/commands/preview/index.ts","../src/commands/preview/loadconfig.ts","../src/commands/preview/previewplan.ts","../src/commands/products/command.tsx","../src/commands/products/headless.ts","../src/commands/products/index.ts","../src/commands/pull/index.ts","../src/commands/pull/mergeenvironments.ts","../src/commands/pull/pull.ts","../src/commands/pull/pullfromenvironment.ts","../src/commands/pull/sdktypes.ts","../src/commands/pull/types.ts","../src/commands/pull/writeconfig.ts","../src/commands/push/headless.ts","../src/commands/push/index.ts","../src/commands/push/prompts.ts","../src/commands/push/push.ts","../src/commands/push/types.ts","../src/commands/push/validate.ts","../src/commands/push/variantpropagation.ts","../src/commands/test-diff/command.ts","../src/commands/test-diff/index.ts","../src/commands/test-template/command.tsx","../src/compose/index.ts","../src/compose/builders/builderfunctions.ts","../src/compose/builders/variantfunctions.ts","../src/compose/models/featuremodels.ts","../src/compose/models/index.ts","../src/compose/models/planmodels.ts","../src/compose/models/variantmodels.ts","../src/lib/utils.ts","../src/lib/version.ts","../src/lib/writeemptyconfig.ts","../src/lib/animation/explosion.ts","../src/lib/api/client.ts","../src/lib/api/endpoints/catalog.ts","../src/lib/api/endpoints/customers.ts","../src/lib/api/endpoints/events.ts","../src/lib/api/endpoints/features.ts","../src/lib/api/endpoints/index.ts","../src/lib/api/endpoints/organization.ts","../src/lib/api/endpoints/plans.ts","../src/lib/api/types/feature.ts","../src/lib/api/types/index.ts","../src/lib/api/types/organization.ts","../src/lib/api/types/plan.ts","../src/lib/api/types/planitem.ts","../src/lib/auth/headlessauthrecovery.ts","../src/lib/constants/templates.ts","../src/lib/constants/templates/index.ts","../src/lib/constants/templates/linear.config.ts","../src/lib/constants/templates/openai.config.ts","../src/lib/constants/templates/railway.config.ts","../src/lib/constants/templates/t3chat.config.ts","../src/lib/env/clicontext.ts","../src/lib/env/detect.ts","../src/lib/env/dotenv.ts","../src/lib/env/index.ts","../src/lib/env/keys.ts","../src/lib/headless/customerscontroller.ts","../src/lib/headless/featurescontroller.ts","../src/lib/headless/planscontroller.ts","../src/lib/headless/index.ts","../src/lib/headless/types.ts","../src/lib/hooks/index.ts","../src/lib/hooks/useagentsetup.ts","../src/lib/hooks/useauthrecovery.ts","../src/lib/hooks/useclipboard.ts","../src/lib/hooks/useconfigcounts.ts","../src/lib/hooks/usecreateguides.ts","../src/lib/hooks/usecreateskills.ts","../src/lib/hooks/usecustomerexpanded.ts","../src/lib/hooks/usecustomernavigation.ts","../src/lib/hooks/usecustomers.ts","../src/lib/hooks/useenvironmentstore.ts","../src/lib/hooks/useevents.ts","../src/lib/hooks/useeventsaggregate.ts","../src/lib/hooks/useeventsaggregateapi.ts","../src/lib/hooks/useeventsfilter.ts","../src/lib/hooks/usefeatures.ts","../src/lib/hooks/usehascustomers.ts","../src/lib/hooks/useheadlessauth.ts","../src/lib/hooks/uselistnavigation.ts","../src/lib/hooks/uselogin.ts","../src/lib/hooks/usenuke.ts","../src/lib/hooks/usenukedata.ts","../src/lib/hooks/useorganization.ts","../src/lib/hooks/useplans.ts","../src/lib/hooks/usepull.ts","../src/lib/hooks/usepush.ts","../src/lib/hooks/useterminalsize.ts","../src/lib/hooks/usevisiblerowcount.ts","../src/lib/hooks/usewritetemplateconfig.ts","../src/lib/transforms/index.ts","../src/lib/transforms/apitosdk/transformer.test.ts","../src/lib/transforms/apitosdk/transformer.ts","../src/lib/transforms/apitosdk/feature.ts","../src/lib/transforms/apitosdk/helpers.ts","../src/lib/transforms/apitosdk/index.ts","../src/lib/transforms/apitosdk/plan.ts","../src/lib/transforms/apitosdk/planitem.ts","../src/lib/transforms/inplaceupdate/index.ts","../src/lib/transforms/inplaceupdate/parseconfig.ts","../src/lib/transforms/inplaceupdate/updateconfig.ts","../src/lib/transforms/sdktoapi/feature.ts","../src/lib/transforms/sdktoapi/index.ts","../src/lib/transforms/sdktoapi/plan.ts","../src/lib/transforms/sdktocode/configfile.ts","../src/lib/transforms/sdktocode/feature.ts","../src/lib/transforms/sdktocode/helpers.test.ts","../src/lib/transforms/sdktocode/helpers.ts","../src/lib/transforms/sdktocode/imports.ts","../src/lib/transforms/sdktocode/index.ts","../src/lib/transforms/sdktocode/plan.ts","../src/lib/transforms/sdktocode/planitem.ts","../src/lib/transforms/sdktocode/variant.ts","../src/lib/utils/index.ts","../src/lib/utils/monorepo.ts","../src/prompts/skills/autumn-billing-page.ts","../src/prompts/skills/autumn-gating.ts","../src/prompts/skills/autumn-modelling-pricing-plans.ts","../src/prompts/skills/autumn-setup.ts","../src/prompts/skills/index.ts","../src/views/app.tsx","../src/views/html/oauth-callback.ts","../src/views/react/test-agent.tsx","../src/views/react/components/authrecoveryboundary.tsx","../src/views/react/components/card.tsx","../src/views/react/components/keyvalue.tsx","../src/views/react/components/loadingtext.tsx","../src/views/react/components/multiselect.tsx","../src/views/react/components/progressbar.tsx","../src/views/react/components/promptcard.tsx","../src/views/react/components/selectmenu.tsx","../src/views/react/components/statusline.tsx","../src/views/react/components/statusrow.tsx","../src/views/react/components/stepheader.tsx","../src/views/react/components/index.ts","../src/views/react/components/providers/cardwidthcontext.tsx","../src/views/react/components/providers/queryprovider.tsx","../src/views/react/components/providers/index.ts","../src/views/react/customers/customersview.tsx","../src/views/react/customers/types.ts","../src/views/react/customers/components/customerrow.tsx","../src/views/react/customers/components/customersheet.tsx","../src/views/react/customers/components/customerstable.tsx","../src/views/react/customers/components/emptystate.tsx","../src/views/react/customers/components/errorstate.tsx","../src/views/react/customers/components/keybindhints.tsx","../src/views/react/customers/components/loadingstate.tsx","../src/views/react/customers/components/searchinput.tsx","../src/views/react/customers/components/titlebar.tsx","../src/views/react/customers/components/index.ts","../src/views/react/customers/components/sections/balancessection.tsx","../src/views/react/customers/components/sections/entitiessection.tsx","../src/views/react/customers/components/sections/invoicessection.tsx","../src/views/react/customers/components/sections/referralssection.tsx","../src/views/react/customers/components/sections/rewardssection.tsx","../src/views/react/customers/components/sections/subscriptionssection.tsx","../src/views/react/customers/components/sections/index.ts","../src/views/react/events/eventsview.tsx","../src/views/react/events/index.ts","../src/views/react/events/components/eventsheet.tsx","../src/views/react/events/components/eventsaggregateview.tsx","../src/views/react/events/components/eventsfiltersheet.tsx","../src/views/react/events/components/index.ts","../src/views/react/features/featuresview.tsx","../src/views/react/features/index.ts","../src/views/react/features/components/featuresheet.tsx","../src/views/react/features/components/index.ts","../src/views/react/init/headlessinitflow.tsx","../src/views/react/init/initflow.tsx","../src/views/react/init/steps/agentstep.tsx","../src/views/react/init/steps/authstep.tsx","../src/views/react/init/steps/configstep.tsx","../src/views/react/init/steps/handoffstep.tsx","../src/views/react/init/steps/pathinputstep.tsx","../src/views/react/init/steps/stripestep.tsx","../src/views/react/login/loginview.tsx","../src/views/react/nuke/inlinenukeflow.tsx","../src/views/react/nuke/nukeanimation.tsx","../src/views/react/nuke/nukeview.tsx","../src/views/react/nuke/components/backupprompt.tsx","../src/views/react/nuke/components/confirmscreen.tsx","../src/views/react/nuke/components/deletionprogress.tsx","../src/views/react/nuke/components/finalsummary.tsx","../src/views/react/nuke/components/successscreen.tsx","../src/views/react/nuke/components/warningscreen.tsx","../src/views/react/preview/planpreviewcard.tsx","../src/views/react/preview/previewview.tsx","../src/views/react/preview/index.ts","../src/views/react/primitives/index.ts","../src/views/react/primitives/input/searchinput.tsx","../src/views/react/primitives/input/index.ts","../src/views/react/primitives/layout/bottombar.tsx","../src/views/react/primitives/layout/listviewlayout.tsx","../src/views/react/primitives/layout/splitpane.tsx","../src/views/react/primitives/layout/titlebar.tsx","../src/views/react/primitives/layout/index.ts","../src/views/react/primitives/sheet/detailsheet.tsx","../src/views/react/primitives/sheet/sheetsection.tsx","../src/views/react/primitives/sheet/index.ts","../src/views/react/primitives/states/emptystate.tsx","../src/views/react/primitives/states/errorstate.tsx","../src/views/react/primitives/states/loadingstate.tsx","../src/views/react/primitives/states/index.ts","../src/views/react/primitives/table/datatable.tsx","../src/views/react/primitives/table/tablerow.tsx","../src/views/react/primitives/table/index.ts","../src/views/react/primitives/utils/formatdate.ts","../src/views/react/primitives/utils/index.ts","../src/views/react/primitives/utils/pagination.ts","../src/views/react/primitives/utils/truncate.ts","../src/views/react/products/productsview.tsx","../src/views/react/products/index.ts","../src/views/react/products/components/productsheet.tsx","../src/views/react/products/components/index.ts","../src/views/react/pull/pull.tsx","../src/views/react/pull/components/featurerow.tsx","../src/views/react/pull/components/filerow.tsx","../src/views/react/pull/components/planrow.tsx","../src/views/react/pull/components/index.ts","../src/views/react/push/push.tsx","../src/views/react/push/index.ts","../src/views/react/push/components/completionmessage.tsx","../src/views/react/push/components/errorcard.tsx","../src/views/react/push/components/featurescard.tsx","../src/views/react/push/components/nochangescard.tsx","../src/views/react/push/components/orgcard.tsx","../src/views/react/push/components/overviewcard.tsx","../src/views/react/push/components/planscard.tsx","../src/views/react/push/components/pushpromptcard.tsx","../src/views/react/push/components/index.ts","../src/views/react/template/templateselector.tsx","../src/views/react/template2/badge.tsx","../src/views/react/template2/plancard.tsx","../src/views/react/template2/templaterow.tsx","../src/views/react/template2/templateselector2.tsx","../src/views/react/template2/data.ts","../src/views/react/template2/index.ts"]}
|
|
1
|
+
{"version":"7.0.0-dev.20260511.1","root":["../src/cli.tsx","../src/constants.ts","../src/commands/auth/command.ts","../src/commands/auth/constants.ts","../src/commands/auth/oauth.ts","../src/commands/config/command.ts","../src/commands/customers/command.tsx","../src/commands/customers/headless.ts","../src/commands/customers/index.ts","../src/commands/events/command.tsx","../src/commands/events/headless.ts","../src/commands/events/index.ts","../src/commands/events-aggregate-test/command.ts","../src/commands/events-aggregate-test/index.ts","../src/commands/features/command.tsx","../src/commands/features/headless.ts","../src/commands/features/index.ts","../src/commands/nuke/backup.ts","../src/commands/nuke/deletions.ts","../src/commands/nuke/legacyNuke.ts","../src/commands/nuke/types.ts","../src/commands/nuke/validation.ts","../src/commands/preview/index.ts","../src/commands/preview/loadConfig.ts","../src/commands/preview/previewPlan.ts","../src/commands/products/command.tsx","../src/commands/products/headless.ts","../src/commands/products/index.ts","../src/commands/pull/index.ts","../src/commands/pull/mergeEnvironments.ts","../src/commands/pull/pull.ts","../src/commands/pull/pullFromEnvironment.ts","../src/commands/pull/sdkTypes.ts","../src/commands/pull/types.ts","../src/commands/pull/writeConfig.ts","../src/commands/push/headless.ts","../src/commands/push/index.ts","../src/commands/push/prompts.ts","../src/commands/push/push.ts","../src/commands/push/types.ts","../src/commands/push/validate.ts","../src/commands/push/variantPropagation.ts","../src/commands/test-diff/command.ts","../src/commands/test-diff/index.ts","../src/commands/test-template/command.tsx","../src/compose/index.ts","../src/compose/builders/builderFunctions.ts","../src/compose/builders/variantFunctions.ts","../src/compose/models/featureModels.ts","../src/compose/models/index.ts","../src/compose/models/planModels.ts","../src/compose/models/variantModels.ts","../src/lib/utils.ts","../src/lib/version.ts","../src/lib/writeEmptyConfig.ts","../src/lib/animation/explosion.ts","../src/lib/api/client.ts","../src/lib/api/endpoints/catalog.ts","../src/lib/api/endpoints/customers.ts","../src/lib/api/endpoints/events.ts","../src/lib/api/endpoints/features.ts","../src/lib/api/endpoints/index.ts","../src/lib/api/endpoints/organization.ts","../src/lib/api/endpoints/plans.ts","../src/lib/api/types/feature.ts","../src/lib/api/types/index.ts","../src/lib/api/types/organization.ts","../src/lib/api/types/plan.ts","../src/lib/api/types/planItem.ts","../src/lib/auth/headlessAuthRecovery.ts","../src/lib/constants/templates.ts","../src/lib/constants/templates/index.ts","../src/lib/constants/templates/linear.config.ts","../src/lib/constants/templates/openai.config.ts","../src/lib/constants/templates/railway.config.ts","../src/lib/constants/templates/t3chat.config.ts","../src/lib/env/backendUrl.ts","../src/lib/env/cliContext.ts","../src/lib/env/detect.ts","../src/lib/env/dotenv.ts","../src/lib/env/index.ts","../src/lib/env/keys.ts","../src/lib/headless/CustomersController.ts","../src/lib/headless/FeaturesController.ts","../src/lib/headless/PlansController.ts","../src/lib/headless/index.ts","../src/lib/headless/types.ts","../src/lib/hooks/index.ts","../src/lib/hooks/useAgentSetup.ts","../src/lib/hooks/useAuthRecovery.ts","../src/lib/hooks/useClipboard.ts","../src/lib/hooks/useConfigCounts.ts","../src/lib/hooks/useCreateGuides.ts","../src/lib/hooks/useCreateSkills.ts","../src/lib/hooks/useCustomerExpanded.ts","../src/lib/hooks/useCustomerNavigation.ts","../src/lib/hooks/useCustomers.ts","../src/lib/hooks/useEnvironmentStore.ts","../src/lib/hooks/useEvents.ts","../src/lib/hooks/useEventsAggregate.ts","../src/lib/hooks/useEventsAggregateApi.ts","../src/lib/hooks/useEventsFilter.ts","../src/lib/hooks/useFeatures.ts","../src/lib/hooks/useHasCustomers.ts","../src/lib/hooks/useHeadlessAuth.ts","../src/lib/hooks/useListNavigation.ts","../src/lib/hooks/useLogin.ts","../src/lib/hooks/useNuke.ts","../src/lib/hooks/useNukeData.ts","../src/lib/hooks/useOrganization.ts","../src/lib/hooks/usePlans.ts","../src/lib/hooks/usePull.ts","../src/lib/hooks/usePush.ts","../src/lib/hooks/useTerminalSize.ts","../src/lib/hooks/useVisibleRowCount.ts","../src/lib/hooks/useWriteTemplateConfig.ts","../src/lib/transforms/index.ts","../src/lib/transforms/multiCurrency.test.ts","../src/lib/transforms/apiToSdk/Transformer.test.ts","../src/lib/transforms/apiToSdk/Transformer.ts","../src/lib/transforms/apiToSdk/feature.ts","../src/lib/transforms/apiToSdk/helpers.ts","../src/lib/transforms/apiToSdk/index.ts","../src/lib/transforms/apiToSdk/plan.ts","../src/lib/transforms/apiToSdk/planItem.ts","../src/lib/transforms/inPlaceUpdate/index.ts","../src/lib/transforms/inPlaceUpdate/parseConfig.ts","../src/lib/transforms/inPlaceUpdate/updateConfig.ts","../src/lib/transforms/sdkToApi/feature.ts","../src/lib/transforms/sdkToApi/index.ts","../src/lib/transforms/sdkToApi/plan.ts","../src/lib/transforms/sdkToCode/configFile.ts","../src/lib/transforms/sdkToCode/feature.ts","../src/lib/transforms/sdkToCode/helpers.test.ts","../src/lib/transforms/sdkToCode/helpers.ts","../src/lib/transforms/sdkToCode/imports.ts","../src/lib/transforms/sdkToCode/index.ts","../src/lib/transforms/sdkToCode/plan.ts","../src/lib/transforms/sdkToCode/planItem.ts","../src/lib/transforms/sdkToCode/variant.ts","../src/lib/utils/index.ts","../src/lib/utils/monorepo.ts","../src/prompts/skills/autumn-billing-page.ts","../src/prompts/skills/autumn-gating.ts","../src/prompts/skills/autumn-modelling-pricing-plans.ts","../src/prompts/skills/autumn-setup.ts","../src/prompts/skills/index.ts","../src/views/App.tsx","../src/views/html/oauth-callback.ts","../src/views/react/test-agent.tsx","../src/views/react/components/AuthRecoveryBoundary.tsx","../src/views/react/components/Card.tsx","../src/views/react/components/KeyValue.tsx","../src/views/react/components/LoadingText.tsx","../src/views/react/components/MultiSelect.tsx","../src/views/react/components/ProgressBar.tsx","../src/views/react/components/PromptCard.tsx","../src/views/react/components/SelectMenu.tsx","../src/views/react/components/StatusLine.tsx","../src/views/react/components/StatusRow.tsx","../src/views/react/components/StepHeader.tsx","../src/views/react/components/index.ts","../src/views/react/components/providers/CardWidthContext.tsx","../src/views/react/components/providers/QueryProvider.tsx","../src/views/react/components/providers/index.ts","../src/views/react/customers/CustomersView.tsx","../src/views/react/customers/types.ts","../src/views/react/customers/components/CustomerRow.tsx","../src/views/react/customers/components/CustomerSheet.tsx","../src/views/react/customers/components/CustomersTable.tsx","../src/views/react/customers/components/EmptyState.tsx","../src/views/react/customers/components/ErrorState.tsx","../src/views/react/customers/components/KeybindHints.tsx","../src/views/react/customers/components/LoadingState.tsx","../src/views/react/customers/components/SearchInput.tsx","../src/views/react/customers/components/TitleBar.tsx","../src/views/react/customers/components/index.ts","../src/views/react/customers/components/sections/BalancesSection.tsx","../src/views/react/customers/components/sections/EntitiesSection.tsx","../src/views/react/customers/components/sections/InvoicesSection.tsx","../src/views/react/customers/components/sections/ReferralsSection.tsx","../src/views/react/customers/components/sections/RewardsSection.tsx","../src/views/react/customers/components/sections/SubscriptionsSection.tsx","../src/views/react/customers/components/sections/index.ts","../src/views/react/events/EventsView.tsx","../src/views/react/events/index.ts","../src/views/react/events/components/EventSheet.tsx","../src/views/react/events/components/EventsAggregateView.tsx","../src/views/react/events/components/EventsFilterSheet.tsx","../src/views/react/events/components/index.ts","../src/views/react/features/FeaturesView.tsx","../src/views/react/features/index.ts","../src/views/react/features/components/FeatureSheet.tsx","../src/views/react/features/components/index.ts","../src/views/react/init/HeadlessInitFlow.tsx","../src/views/react/init/InitFlow.tsx","../src/views/react/init/steps/AgentStep.tsx","../src/views/react/init/steps/AuthStep.tsx","../src/views/react/init/steps/ConfigStep.tsx","../src/views/react/init/steps/HandoffStep.tsx","../src/views/react/init/steps/PathInputStep.tsx","../src/views/react/init/steps/StripeStep.tsx","../src/views/react/login/LoginView.tsx","../src/views/react/nuke/InlineNukeFlow.tsx","../src/views/react/nuke/NukeAnimation.tsx","../src/views/react/nuke/NukeView.tsx","../src/views/react/nuke/components/BackupPrompt.tsx","../src/views/react/nuke/components/ConfirmScreen.tsx","../src/views/react/nuke/components/DeletionProgress.tsx","../src/views/react/nuke/components/FinalSummary.tsx","../src/views/react/nuke/components/SuccessScreen.tsx","../src/views/react/nuke/components/WarningScreen.tsx","../src/views/react/preview/PlanPreviewCard.tsx","../src/views/react/preview/PreviewView.tsx","../src/views/react/preview/index.ts","../src/views/react/primitives/index.ts","../src/views/react/primitives/input/SearchInput.tsx","../src/views/react/primitives/input/index.ts","../src/views/react/primitives/layout/BottomBar.tsx","../src/views/react/primitives/layout/ListViewLayout.tsx","../src/views/react/primitives/layout/SplitPane.tsx","../src/views/react/primitives/layout/TitleBar.tsx","../src/views/react/primitives/layout/index.ts","../src/views/react/primitives/sheet/DetailSheet.tsx","../src/views/react/primitives/sheet/SheetSection.tsx","../src/views/react/primitives/sheet/index.ts","../src/views/react/primitives/states/EmptyState.tsx","../src/views/react/primitives/states/ErrorState.tsx","../src/views/react/primitives/states/LoadingState.tsx","../src/views/react/primitives/states/index.ts","../src/views/react/primitives/table/DataTable.tsx","../src/views/react/primitives/table/TableRow.tsx","../src/views/react/primitives/table/index.ts","../src/views/react/primitives/utils/formatDate.ts","../src/views/react/primitives/utils/index.ts","../src/views/react/primitives/utils/pagination.ts","../src/views/react/primitives/utils/truncate.ts","../src/views/react/products/ProductsView.tsx","../src/views/react/products/index.ts","../src/views/react/products/components/ProductSheet.tsx","../src/views/react/products/components/index.ts","../src/views/react/pull/Pull.tsx","../src/views/react/pull/components/FeatureRow.tsx","../src/views/react/pull/components/FileRow.tsx","../src/views/react/pull/components/PlanRow.tsx","../src/views/react/pull/components/index.ts","../src/views/react/push/Push.tsx","../src/views/react/push/index.ts","../src/views/react/push/components/CompletionMessage.tsx","../src/views/react/push/components/ErrorCard.tsx","../src/views/react/push/components/FeaturesCard.tsx","../src/views/react/push/components/NoChangesCard.tsx","../src/views/react/push/components/OrgCard.tsx","../src/views/react/push/components/OverviewCard.tsx","../src/views/react/push/components/PlansCard.tsx","../src/views/react/push/components/PushPromptCard.tsx","../src/views/react/push/components/index.ts","../src/views/react/template/TemplateSelector.tsx","../src/views/react/template2/Badge.tsx","../src/views/react/template2/PlanCard.tsx","../src/views/react/template2/TemplateRow.tsx","../src/views/react/template2/TemplateSelector2.tsx","../src/views/react/template2/data.ts","../src/views/react/template2/index.ts"]}
|
package/package.json
CHANGED
|
@@ -1,120 +1,99 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
"tsup": "^8.5.0",
|
|
100
|
-
"typescript": "^5.0.3",
|
|
101
|
-
"xo": "^0.53.1"
|
|
102
|
-
},
|
|
103
|
-
"ava": {
|
|
104
|
-
"extensions": {
|
|
105
|
-
"ts": "module",
|
|
106
|
-
"tsx": "module"
|
|
107
|
-
},
|
|
108
|
-
"nodeArguments": [
|
|
109
|
-
"--loader=ts-node/esm"
|
|
110
|
-
]
|
|
111
|
-
},
|
|
112
|
-
"xo": {
|
|
113
|
-
"extends": "xo-react",
|
|
114
|
-
"prettier": true,
|
|
115
|
-
"rules": {
|
|
116
|
-
"react/prop-types": "off"
|
|
117
|
-
}
|
|
118
|
-
},
|
|
119
|
-
"prettier": "@vdemedes/prettier-config"
|
|
2
|
+
"name": "atmn",
|
|
3
|
+
"version": "1.1.16",
|
|
4
|
+
"license": "MIT",
|
|
5
|
+
"bin": {
|
|
6
|
+
"atmn": "dist/cli.js"
|
|
7
|
+
},
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/useautumn/autumn.git",
|
|
11
|
+
"directory": "packages/atmn"
|
|
12
|
+
},
|
|
13
|
+
"homepage": "https://docs.useautumn.com/api-reference/cli/getting-started",
|
|
14
|
+
"main": "dist/compose/index.js",
|
|
15
|
+
"types": "dist/src/compose/index.d.ts",
|
|
16
|
+
"exports": {
|
|
17
|
+
".": {
|
|
18
|
+
"types": "./dist/src/compose/index.d.ts",
|
|
19
|
+
"import": "./dist/compose/index.js",
|
|
20
|
+
"default": "./dist/compose/index.js"
|
|
21
|
+
},
|
|
22
|
+
"./skills": {
|
|
23
|
+
"types": "./src/prompts/skills/index.ts",
|
|
24
|
+
"import": "./src/prompts/skills/index.ts",
|
|
25
|
+
"default": "./src/prompts/skills/index.ts"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"type": "module",
|
|
29
|
+
"engines": {
|
|
30
|
+
"node": ">=16"
|
|
31
|
+
},
|
|
32
|
+
"scripts": {
|
|
33
|
+
"ts": "bunx tsgo --build --noEmit",
|
|
34
|
+
"build": "bun run bun.config.ts",
|
|
35
|
+
"dev": "nodemon -e ts,tsx --watch src --ignore dist --exec \"bun run bun.config.ts\"",
|
|
36
|
+
"dev:bun": "bun run dev.ts",
|
|
37
|
+
"test": "bun test test/*.test.ts test/codegen test/nuke test/pull test/push test/workflow",
|
|
38
|
+
"test:integration": "cd ../../server && ENV_FILE=.env infisical run --env=dev --recursive -- bun test --timeout 0 ../packages/atmn/test/integration",
|
|
39
|
+
"test:integration:cli": "cd ../../server && ENV_FILE=.env infisical run --env=dev --recursive -- bun ../packages/atmn/test/integration/cli.ts",
|
|
40
|
+
"test:unit": "bun test test/codegen",
|
|
41
|
+
"test:watch": "bun test --watch",
|
|
42
|
+
"test2": "prettier --check . && xo && ava",
|
|
43
|
+
"test-cli": "node --trace-deprecation -- ./dist/cli.js"
|
|
44
|
+
},
|
|
45
|
+
"files": [
|
|
46
|
+
"dist",
|
|
47
|
+
"package.json",
|
|
48
|
+
"README.md"
|
|
49
|
+
],
|
|
50
|
+
"dependencies": {
|
|
51
|
+
"@inquirer/prompts": "^7.6.0",
|
|
52
|
+
"@mishieck/ink-titled-box": "^0.3.0",
|
|
53
|
+
"@tanstack/react-query": "^5.90.17",
|
|
54
|
+
"@types/prettier": "^3.0.0",
|
|
55
|
+
"arctic": "^3.7.0",
|
|
56
|
+
"axios": "^1.10.0",
|
|
57
|
+
"cfonts": "^3.3.1",
|
|
58
|
+
"chalk": "^5.2.0",
|
|
59
|
+
"clipboardy": "^5.0.2",
|
|
60
|
+
"commander": "^14.0.0",
|
|
61
|
+
"dotenv": "^17.2.0",
|
|
62
|
+
"ervy": "^1.0.7",
|
|
63
|
+
"ink": "^6.6.0",
|
|
64
|
+
"ink-big-text": "^2.0.0",
|
|
65
|
+
"ink-chart": "^0.1.1",
|
|
66
|
+
"ink-confirm-input": "^2.0.0",
|
|
67
|
+
"ink-scroll-list": "^0.4.1",
|
|
68
|
+
"ink-scroll-view": "^0.3.5",
|
|
69
|
+
"ink-select-input": "^6.2.0",
|
|
70
|
+
"ink-spinner": "^5.0.0",
|
|
71
|
+
"ink-table": "^3.1.0",
|
|
72
|
+
"ink-text-input": "^6.0.0",
|
|
73
|
+
"inquirer": "^12.7.0",
|
|
74
|
+
"jiti": "^2.4.2",
|
|
75
|
+
"open": "^10.1.2",
|
|
76
|
+
"prettier": "^3.6.2",
|
|
77
|
+
"react": "^19.2.3",
|
|
78
|
+
"yocto-spinner": "^1.0.0",
|
|
79
|
+
"zod": "^4.0.0",
|
|
80
|
+
"conf": "^13.0.1"
|
|
81
|
+
},
|
|
82
|
+
"ava": {
|
|
83
|
+
"extensions": {
|
|
84
|
+
"ts": "module",
|
|
85
|
+
"tsx": "module"
|
|
86
|
+
},
|
|
87
|
+
"nodeArguments": [
|
|
88
|
+
"--loader=ts-node/esm"
|
|
89
|
+
]
|
|
90
|
+
},
|
|
91
|
+
"xo": {
|
|
92
|
+
"extends": "xo-react",
|
|
93
|
+
"prettier": true,
|
|
94
|
+
"rules": {
|
|
95
|
+
"react/prop-types": "off"
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
"prettier": "@vdemedes/prettier-config"
|
|
120
99
|
}
|