@aixyz/config 0.11.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.
Files changed (2) hide show
  1. package/index.ts +19 -2
  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({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aixyz/config",
3
- "version": "0.11.0",
3
+ "version": "0.12.0",
4
4
  "description": "Payment-native SDK for AI Agent",
5
5
  "keywords": [
6
6
  "ai",