atmn 1.1.10 → 1.1.11

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.
@@ -63,8 +63,35 @@ var feature = (params) => {
63
63
  var item = (params) => {
64
64
  return params;
65
65
  };
66
+ var billingControls = (params) => {
67
+ return params;
68
+ };
69
+
70
+ // src/compose/builders/variantFunctions.ts
71
+ var createVariant = (params) => {
72
+ return params;
73
+ };
74
+
75
+ // src/compose/index.ts
76
+ var plan2 = (params) => {
77
+ const base = plan(params);
78
+ Object.defineProperty(base, "variant", {
79
+ value: (variantParams) => {
80
+ const planVariant = createVariant(variantParams);
81
+ Object.defineProperty(planVariant, "__atmnType", {
82
+ value: "variant",
83
+ enumerable: false
84
+ });
85
+ base.variants = [...base.variants ?? [], planVariant];
86
+ return planVariant;
87
+ },
88
+ enumerable: false
89
+ });
90
+ return base;
91
+ };
66
92
  export {
67
- plan,
93
+ plan2 as plan,
68
94
  item,
69
- feature
95
+ feature,
96
+ billingControls
70
97
  };
@@ -1,6 +1,6 @@
1
- import type { Plan, PlanItem } from "../models/planModels.js";
2
1
  import type { Feature } from "../models/featureModels.js";
3
- type PlanInput = Omit<Plan, 'description' | 'addOn' | 'autoEnable' | 'group'> & Partial<Pick<Plan, 'description' | 'addOn' | 'autoEnable' | 'group'>>;
2
+ import type { BillingControls, Plan, PlanItem } from "../models/planModels.js";
3
+ type PlanInput = Omit<Plan, "description" | "addOn" | "autoEnable" | "group"> & Partial<Pick<Plan, "description" | "addOn" | "autoEnable" | "group">>;
4
4
  /**
5
5
  * Define a pricing plan in your Autumn configuration
6
6
  *
@@ -80,4 +80,5 @@ export declare const feature: (params: Feature) => Feature;
80
80
  * })
81
81
  */
82
82
  export declare const item: (params: PlanItem) => PlanItem;
83
+ export declare const billingControls: (params: BillingControls) => BillingControls;
83
84
  export {};
@@ -0,0 +1,2 @@
1
+ import type { Variant } from "../models/variantModels.js";
2
+ export declare const createVariant: (params: Omit<Variant, "__atmnType">) => Variant;
@@ -1,8 +1,14 @@
1
- import { feature, plan, item } from "./builders/builderFunctions.js";
1
+ import { billingControls, feature, item } from "./builders/builderFunctions.js";
2
2
  import type { Feature } from "./models/featureModels.js";
3
- import type { FreeTrial, Plan, PlanItem } from "./models/planModels.js";
4
- export { plan, feature, item };
5
- export type { Feature, Plan, PlanItem, FreeTrial };
3
+ import type { BillingControls, FreeTrial, PlanItem } from "./models/planModels.js";
4
+ import type { CustomizePlan, Plan, PlanItemFilter, Variant } from "./models/variantModels.js";
5
+ export { billingControls, plan, feature, item };
6
+ export type { BillingControls, CustomizePlan, Feature, FreeTrial, Plan, PlanItem, PlanItemFilter, Variant, };
7
+ type PlanInput = Omit<Plan, "description" | "addOn" | "autoEnable" | "group" | "variant"> & Partial<Pick<Plan, "description" | "addOn" | "autoEnable" | "group">>;
8
+ type PlanWithVariantMethod = Plan & {
9
+ variant: NonNullable<Plan["variant"]>;
10
+ };
11
+ declare const plan: (params: PlanInput) => PlanWithVariantMethod;
6
12
  export type Infinity = "infinity";
7
13
  export type AutumnConfig = {
8
14
  plans: Plan[];
@@ -3,6 +3,49 @@ export declare const UsageTierSchema: z.ZodObject<{
3
3
  to: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"inf">]>;
4
4
  amount: z.ZodNumber;
5
5
  }, z.core.$strip>;
6
+ type AutoTopupPurchaseLimit = {
7
+ interval: "hour" | "day" | "week" | "month";
8
+ interval_count?: number;
9
+ limit: number;
10
+ };
11
+ type AutoTopup = {
12
+ feature_id: string;
13
+ enabled?: boolean;
14
+ threshold: number;
15
+ quantity: number;
16
+ purchase_limit?: AutoTopupPurchaseLimit;
17
+ invoice_mode?: boolean;
18
+ };
19
+ type SpendLimit = {
20
+ feature_id?: string;
21
+ enabled?: boolean;
22
+ limit_type?: "absolute" | "usage_percentage";
23
+ overage_limit?: number;
24
+ };
25
+ type UsageLimit = {
26
+ feature_id: string;
27
+ enabled?: boolean;
28
+ limit: number;
29
+ interval: "day" | "week" | "month" | "year";
30
+ };
31
+ type UsageAlert = {
32
+ feature_id?: string;
33
+ enabled?: boolean;
34
+ threshold: number;
35
+ threshold_type: "usage" | "usage_percentage" | "remaining" | "remaining_percentage";
36
+ name?: string;
37
+ };
38
+ type OverageAllowed = {
39
+ feature_id: string;
40
+ enabled?: boolean;
41
+ };
42
+ export type BillingControls = {
43
+ auto_topups?: AutoTopup[];
44
+ spend_limits?: SpendLimit[];
45
+ usage_limits?: UsageLimit[];
46
+ usage_alerts?: UsageAlert[];
47
+ overage_allowed?: OverageAllowed[];
48
+ };
6
49
  export declare const PlanItemSchema: z.ZodObject<{
7
50
  featureId: z.ZodString;
8
51
  included: z.ZodOptional<z.ZodNumber>;
@@ -30,6 +73,7 @@ export declare const PlanItemSchema: z.ZodObject<{
30
73
  }, z.core.$strip>>;
31
74
  rollover: z.ZodOptional<z.ZodObject<{
32
75
  max: z.ZodOptional<z.ZodNumber>;
76
+ max_percentage: z.ZodOptional<z.ZodNumber>;
33
77
  expiry_duration_type: z.ZodUnion<readonly [z.ZodLiteral<"month">, z.ZodLiteral<"forever">]>;
34
78
  expiry_duration_length: z.ZodOptional<z.ZodNumber>;
35
79
  }, z.core.$strip>>;
@@ -42,6 +86,7 @@ export declare const FreeTrialSchema: z.ZodObject<{
42
86
  durationType: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"day">, z.ZodLiteral<"month">, z.ZodLiteral<"year">]>>;
43
87
  cardRequired: z.ZodDefault<z.ZodBoolean>;
44
88
  }, z.core.$strip>;
89
+ export declare const BillingControlsSchema: z.ZodCustom<BillingControls, BillingControls>;
45
90
  export declare const PlanSchema: z.ZodObject<{
46
91
  description: z.ZodDefault<z.ZodNullable<z.ZodString>>;
47
92
  addOn: z.ZodDefault<z.ZodBoolean>;
@@ -78,6 +123,7 @@ export declare const PlanSchema: z.ZodObject<{
78
123
  }, z.core.$strip>>;
79
124
  rollover: z.ZodOptional<z.ZodObject<{
80
125
  max: z.ZodOptional<z.ZodNumber>;
126
+ max_percentage: z.ZodOptional<z.ZodNumber>;
81
127
  expiry_duration_type: z.ZodUnion<readonly [z.ZodLiteral<"month">, z.ZodLiteral<"forever">]>;
82
128
  expiry_duration_length: z.ZodOptional<z.ZodNumber>;
83
129
  }, z.core.$strip>>;
@@ -90,9 +136,11 @@ export declare const PlanSchema: z.ZodObject<{
90
136
  durationType: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"day">, z.ZodLiteral<"month">, z.ZodLiteral<"year">]>>;
91
137
  cardRequired: z.ZodDefault<z.ZodBoolean>;
92
138
  }, z.core.$strip>>;
139
+ billingControls: z.ZodOptional<z.ZodCustom<BillingControls, BillingControls>>;
93
140
  id: z.ZodString;
94
141
  name: z.ZodString;
95
142
  group: z.ZodDefault<z.ZodString>;
143
+ archived: z.ZodOptional<z.ZodBoolean>;
96
144
  }, z.core.$strip>;
97
145
  export type ResetInterval = "one_off" | "minute" | "hour" | "day" | "week" | "month" | "quarter" | "semi_annual" | "year";
98
146
  export type RolloverExpiryDurationType = "month" | "forever";
@@ -114,8 +162,10 @@ type ProrationConfig = {
114
162
  onDecrease: OnDecrease;
115
163
  };
116
164
  type RolloverConfig = {
117
- /** Maximum amount that can roll over (null for unlimited) */
118
- max: number | null;
165
+ /** Maximum amount that can roll over (null for unlimited). Mutually exclusive with maxPercentage. */
166
+ max?: number | null;
167
+ /** Maximum rollover as a percentage (0-100) of included + prepaid grant. Mutually exclusive with max. */
168
+ maxPercentage?: number | null;
119
169
  /** How long rollover lasts before expiring */
120
170
  expiryDurationType: RolloverExpiryDurationType;
121
171
  /** Duration length for rollover expiry */
@@ -156,9 +206,10 @@ type PriceWithTiers = PriceBaseFields & {
156
206
  tiers: Array<{
157
207
  to: number | "inf";
158
208
  amount: number;
209
+ flatAmount?: number;
159
210
  }>;
160
211
  /** Required when tiers is defined: how tiers are applied */
161
- tierBehaviour: "graduated" | "volume";
212
+ tierBehavior: "graduated" | "volume";
162
213
  };
163
214
  type PriceAmountOrTiers = PriceWithAmount | PriceWithTiers;
164
215
  type Price = PriceAmountOrTiers & {
@@ -229,5 +280,9 @@ export type Plan = {
229
280
  items?: PlanItem[];
230
281
  /** Free trial period before billing begins */
231
282
  freeTrial?: FreeTrial | null;
283
+ /** Plan-level billing controls used as customer defaults */
284
+ billingControls?: BillingControls;
285
+ /** Whether the plan is archived */
286
+ archived?: boolean;
232
287
  };
233
288
  export {};
@@ -0,0 +1,34 @@
1
+ import type { BillingInterval, BillingMethod, FreeTrial, Plan as BasePlan, PlanItem, PlanPriceInterval, ResetInterval } from "./planModels.js";
2
+ type ApiBasePrice = {
3
+ amount: number;
4
+ interval: PlanPriceInterval;
5
+ interval_count?: number;
6
+ };
7
+ export type PlanItemFilter = {
8
+ featureId?: string;
9
+ billingMethod?: BillingMethod;
10
+ interval?: BillingInterval | ResetInterval;
11
+ intervalCount?: number;
12
+ };
13
+ export type CustomizePlan = {
14
+ price?: (Pick<ApiBasePrice, "amount" | "interval"> & {
15
+ intervalCount?: ApiBasePrice["interval_count"];
16
+ }) | null;
17
+ items?: PlanItem[];
18
+ addItems?: PlanItem[];
19
+ removeItems?: PlanItemFilter[];
20
+ freeTrial?: FreeTrial | null;
21
+ };
22
+ export type Variant = {
23
+ id: string;
24
+ name: string;
25
+ version?: number;
26
+ customize?: CustomizePlan;
27
+ readonly __atmnType?: "variant";
28
+ };
29
+ export type Plan = BasePlan & {
30
+ version?: number;
31
+ variants?: Variant[];
32
+ variant?: (params: Omit<Variant, "__atmnType">) => Variant;
33
+ };
34
+ export {};
@@ -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/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/models/featureModels.ts","../src/compose/models/index.ts","../src/compose/models/planModels.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/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.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/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/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"]}
package/package.json CHANGED
@@ -1,97 +1,120 @@
1
1
  {
2
- "name": "atmn",
3
- "version": "1.1.10",
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",
38
- "test:unit": "bun test test/codegen",
39
- "test:watch": "bun test --watch",
40
- "test2": "prettier --check . && xo && ava",
41
- "test-cli": "node --trace-deprecation -- ./dist/cli.js"
42
- },
43
- "files": [
44
- "dist",
45
- "package.json",
46
- "README.md"
47
- ],
48
- "dependencies": {
49
- "@inquirer/prompts": "^7.6.0",
50
- "@mishieck/ink-titled-box": "^0.3.0",
51
- "@tanstack/react-query": "^5.90.17",
52
- "@types/prettier": "^3.0.0",
53
- "arctic": "^3.7.0",
54
- "axios": "^1.10.0",
55
- "cfonts": "^3.3.1",
56
- "chalk": "^5.2.0",
57
- "clipboardy": "^5.0.2",
58
- "commander": "^14.0.0",
59
- "dotenv": "^17.2.0",
60
- "ervy": "^1.0.7",
61
- "ink": "^6.6.0",
62
- "ink-big-text": "^2.0.0",
63
- "ink-chart": "^0.1.1",
64
- "ink-confirm-input": "^2.0.0",
65
- "ink-scroll-list": "^0.4.1",
66
- "ink-scroll-view": "^0.3.5",
67
- "ink-select-input": "^6.2.0",
68
- "ink-spinner": "^5.0.0",
69
- "ink-table": "^3.1.0",
70
- "ink-text-input": "^6.0.0",
71
- "inquirer": "^12.7.0",
72
- "jiti": "^2.4.2",
73
- "open": "^10.1.2",
74
- "prettier": "^3.6.2",
75
- "react": "^19.2.3",
76
- "yocto-spinner": "^1.0.0",
77
- "zod": "^4.0.0",
78
- "conf": "^13.0.1"
79
- },
80
- "ava": {
81
- "extensions": {
82
- "ts": "module",
83
- "tsx": "module"
84
- },
85
- "nodeArguments": [
86
- "--loader=ts-node/esm"
87
- ]
88
- },
89
- "xo": {
90
- "extends": "xo-react",
91
- "prettier": true,
92
- "rules": {
93
- "react/prop-types": "off"
94
- }
95
- },
96
- "prettier": "@vdemedes/prettier-config"
2
+ "name": "atmn",
3
+ "version": "1.1.11",
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
+ "devDependencies": {
83
+ "@autumn/shared": "1.0.0",
84
+ "@sindresorhus/tsconfig": "^3.0.1",
85
+ "@types/bun": "^1.3.10",
86
+ "@types/node": "^24.0.10",
87
+ "@types/react": "^19.0.0",
88
+ "@typescript/native-preview": "7.0.0-dev.20260511.1",
89
+ "@vdemedes/prettier-config": "^2.0.1",
90
+ "ava": "^5.2.0",
91
+ "cli-testing-library": "^3.0.1",
92
+ "eslint-config-xo-react": "^0.27.0",
93
+ "eslint-plugin-react": "^7.32.2",
94
+ "eslint-plugin-react-hooks": "^4.6.0",
95
+ "ink-testing-library": "^3.0.0",
96
+ "nodemon": "^3.1.11",
97
+ "react-devtools-core": "^6.1.2",
98
+ "ts-node": "^10.9.1",
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"
97
120
  }