@aixyz/config 0.10.0 → 0.12.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/index.ts +19 -2
- package/package.json +1 -1
package/index.ts
CHANGED
|
@@ -40,9 +40,10 @@ export type AixyzConfig = {
|
|
|
40
40
|
* Output format for `aixyz build`.
|
|
41
41
|
* - `"standalone"`: Bundles into a single executable file (default).
|
|
42
42
|
* - `"vercel"`: Generates Vercel Build Output API v3 structure.
|
|
43
|
+
* - `"executable"`: Compiles into a self-contained binary (no Bun runtime required).
|
|
43
44
|
* Overrides the `VERCEL=1` environment variable, but is overridden by the `--output` CLI flag.
|
|
44
45
|
*/
|
|
45
|
-
output?: "standalone" | "vercel";
|
|
46
|
+
output?: "standalone" | "vercel" | "executable";
|
|
46
47
|
/**
|
|
47
48
|
* Glob pattern(s) for files to include in the build from the `app/` directory.
|
|
48
49
|
* @default ["**\/*.{js,jsx,ts,tsx}"]
|
|
@@ -54,6 +55,15 @@ export type AixyzConfig = {
|
|
|
54
55
|
*/
|
|
55
56
|
excludes?: string | string[];
|
|
56
57
|
};
|
|
58
|
+
vercel?: {
|
|
59
|
+
/**
|
|
60
|
+
* Maximum execution duration for the Vercel serverless function in seconds.
|
|
61
|
+
* Vercel Hobby plan supports up to 60s, Pro up to 300s, Enterprise up to 900s.
|
|
62
|
+
* AI agents typically need more than the Vercel default of 10s.
|
|
63
|
+
* @default 60
|
|
64
|
+
*/
|
|
65
|
+
maxDuration?: number;
|
|
66
|
+
};
|
|
57
67
|
skills?: InferredAixyzConfig["skills"];
|
|
58
68
|
};
|
|
59
69
|
|
|
@@ -66,6 +76,7 @@ const defaultConfig = {
|
|
|
66
76
|
includes: ["**/*.{js,jsx,ts,tsx}"],
|
|
67
77
|
excludes: ["**/{_*,*.{test,spec,e2e}}.{js,jsx,ts,tsx}"],
|
|
68
78
|
},
|
|
79
|
+
vercel: { maxDuration: 60 },
|
|
69
80
|
skills: [],
|
|
70
81
|
};
|
|
71
82
|
|
|
@@ -97,7 +108,7 @@ const AixyzConfigSchema = z.object({
|
|
|
97
108
|
}),
|
|
98
109
|
build: z
|
|
99
110
|
.object({
|
|
100
|
-
output: z.enum(["standalone", "vercel"]).optional(),
|
|
111
|
+
output: z.enum(["standalone", "vercel", "executable"]).optional(),
|
|
101
112
|
includes: z
|
|
102
113
|
.union([z.string(), z.array(z.string())])
|
|
103
114
|
.default(["**/*.{js,jsx,ts,tsx}"])
|
|
@@ -108,6 +119,12 @@ const AixyzConfigSchema = z.object({
|
|
|
108
119
|
.transform((v) => (Array.isArray(v) ? v : [v])),
|
|
109
120
|
})
|
|
110
121
|
.default(defaultConfig.build),
|
|
122
|
+
vercel: z
|
|
123
|
+
.object({
|
|
124
|
+
maxDuration: z.number().int().positive().max(900).optional().default(defaultConfig.vercel.maxDuration),
|
|
125
|
+
})
|
|
126
|
+
.optional()
|
|
127
|
+
.default(defaultConfig.vercel),
|
|
111
128
|
skills: z
|
|
112
129
|
.array(
|
|
113
130
|
z.object({
|